Tôi có một vài câu hỏi:
- Có sự khác biệt về hiệu suất trong JavaScript giữa một
switch
câu lệnh và câu lệnhif...else
không? - Nếu vậy tại sao?
- Là hành vi
switch
vàif...else
khác nhau trên các trình duyệt? (FireFox, IE, Chrome, Opera, Safari)
Lý do cho câu hỏi này là dường như tôi có hiệu suất tốt hơn trên một switch
câu lệnh với khoảng 1000 trường hợp trong Firefox.
Rất tiếc, đây không phải là mã của tôi, Javascript đang được tạo ra từ các thư viện được biên dịch và tôi không có quyền truy cập vào mã. Phương thức tạo javascript được gọi là
CreateConditionals(string name, string arrayofvalues, string arrayofActions)
lưu ý arrayofvalues
là một danh sách được phân tách bằng dấu phẩy.
những gì nó tạo ra là
function [name] (value) {
if (value == [value from array index x]) {
[action from array index x]
}
}
Lưu ý: where [name]
= tên được truyền vào chức năng máy chủ
Bây giờ tôi đã thay đổi đầu ra của hàm được chèn vào TextArea, viết một số mã JavaScript để phân tích cú pháp và chuyển đổi nó thành một tập hợp case
câu lệnh.
cuối cùng tôi chạy chức năng và nó chạy tốt nhưng hiệu năng khác nhau trong IE và Firefox.