Bất kỳ biểu tượng nào trong số các biểu tượng này chuyển chức năng theo sau thành biểu thức hàm, thay vì khai báo hàm. Đặt tất cả chúng vào đó cùng nhau chỉ để cho vui.
Nếu bạn cố gắng để gọi một chức năng thường xuyên bằng cách đặt ()
ngay sau khi tuyên bố:
function() {
// this is a syntax error...
}();
bạn sẽ nhận được một lỗi cú pháp:
SyntaxError: Unexpected token (
kể từ khi bạn không thể gọi một khai báo hàm.
Vì vậy, mọi người thường quấn một chức năng ẩn danh trong ngoặc đơn để biến nó thành một biểu hiện chức năng:
(function() {
// this will execute immediately
}());
Bạn có thể đạt được điều tương được thêm vào trước bất kỳ của những biểu tượng:
!function() {
// this will also execute immediately
}();
Để biết thêm thông tin, hãy xem tại đây: http://kangax.github.com/nfe/#expr-vs-decl
Nguồn
2013-02-01 04:37:52