Kawan, saya punya beberapa pertanyaan:
- Apakah ada perbedaan kinerja dalam JavaScript antara
switch
pernyataan danif...else
? - Jika demikian mengapa?
- Apakah perilaku
switch
danif...else
perbedaan antar browser? (FireFox, IE, Chrome, Opera, Safari)
Alasan untuk mengajukan pertanyaan ini adalah sepertinya saya mendapatkan kinerja yang lebih baik pada switch
pernyataan dengan sekitar 1000-an kasus di Firefox.
Diedit Sayangnya ini bukan kode saya, Javascript sedang diproduksi di sisi server dari perpustakaan yang dikompilasi dan saya tidak memiliki akses ke kode tersebut. Metode yang menghasilkan javascript disebut
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
note arrayofvalues
adalah daftar yang dipisahkan koma.
apa yang ia hasilkan adalah
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Catatan: where [name]
= nama diteruskan ke fungsi serveride
Sekarang saya mengubah output dari fungsi yang akan dimasukkan ke dalam TextArea, menulis beberapa kode JavaScript untuk mem-parsing melalui fungsi, dan mengubahnya menjadi seperangkat case
pernyataan.
akhirnya saya menjalankan fungsinya dan itu berjalan dengan baik tetapi kinerja berbeda di IE dan Firefox.