nextplease.init = function() {...}
là một hàm không có đối số. Tôi mong đợi nextplease.init
và function() {nextplease.init();}
để hoạt động giống hệt nhau. Có bất kỳ sự khác biệt nào có thể giữa chúng (rõ ràng, bạn có thể gán một cái gì đó cho nextplease.init
, nhưng hãy loại trừ điều đó)? Cụ thể, có thể có sự khác biệt về hành vi giữa window.addEventListener("load", nextplease.init, false);
và window.addEventListener("load", function() {nextplease.init();}, false);
?Giá trị hàm trong JavaScript
Lỗi tôi đang cố gắng tìm được mô tả trong Objects in JavaScript defined and undefined at the same time (in a FireFox extension) Ai đó đã đề xuất rằng sử dụng biểu mẫu đầu tiên thay vì biểu mẫu thứ hai có thể tạo sự khác biệt.
Trên thực tế trong JS ai có thể truy cập vào lập luận của biến 'arguments', vì vậy chúng ta không thể chắc chắn biết bao nhiêu đối số hàm sẽ mất. – kennytm
Đúng, nhưng điều đó không được thực hiện trong trường hợp này. Tôi sẽ cung cấp một liên kết đến mã. –
Thứ hai sẽ tạo ra một bối cảnh thực thi mới, trong đó nextplease.init() sẽ được thực hiện. Do đó, ngăn xếp ngữ cảnh chuỗi/thực thi phạm vi sẽ lớn hơn một. –