Từ khóa var
trong javascript làm cho một biến được lưu trữ trong phạm vi cục bộ. Nếu không có các biến số var
thuộc phạm vi toàn cầu. Điều gì về chức năng? Rõ ràng những gì sẽ xảy ra khi chức năng được khai báo như biếnjavascript phạm vi khai báo hàm
var foo = function() {...}
nhưng những gì phạm vi không
function foo() {...}
thuộc về?
EDIT: Tôi nhận ra rằng tôi đã không hỏi khá câu hỏi phù hợp để theo dõi. Trong hầu hết các tổ bên ngoài là có sự khác biệt giữa hai tờ khai trên và khai báo sau đây?
foo = function() {...}
Đó là một bài viết tuyệt vời. Cảm ơn. – user1816847
Một sự khác biệt đáng chú ý mà tôi quên đề cập đến là những gì Bergi đã nói trong câu trả lời của mình: các khai báo chức năng được hoisted, vì vậy bạn có thể gọi hàm trước khi nó thực sự xuất hiện trong mã nguồn. – bfavaretto