Kawan, saya punya beberapa pertanyaan:
- Apakah ada perbedaan kinerja dalam JavaScript antara
switchpernyataan danif...else? - Jika demikian mengapa?
- Apakah perilaku
switchdanif...elseperbedaan antar browser? (FireFox, IE, Chrome, Opera, Safari)
Alasan untuk mengajukan pertanyaan ini adalah sepertinya saya mendapatkan kinerja yang lebih baik pada switchpernyataan 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 arrayofvaluesadalah 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.