Tôi đang xem xét cải thiện một số của chúng tôi cho mỗi vòng và tạo một điểm chuẩn kiểm tra để so sánh các cách khác nhau mà chúng tôi đang sử dụng chúng. Bài kiểm tra có thể là found here.Hiệu suất vòng lặp foreach của Javascript
Tôi rất ngạc nhiên khi phát hiện ra rằng đoạn mã này:
function add(val) {
sum += val;
}
values.forEach(add);
hoạt động tốt hơn thế này.
values.forEach(function(val) {
sum += val;
});
Đây không phải là chính xác không? Điều gì làm cho đoạn mã đầu tiên nhanh hơn đoạn mã thứ hai?
cả hai đều nhanh trên máy tính của tôi. 56 lần trong .055 và .053 secs –
Đó là vì các khai báo hàm thường nhanh hơn các biểu thức hàm: http://jsperf.com/function-declaration-vs-function-expression. –
@AaditMShah Điều đó khá thú vị! – Jonathan