javascript自我执行语法

时间:2013-06-03 06:54:51

标签: javascript jquery html

有没有人知道这样定义的代码:

!function(window, undefined) {
    // do something
} (window)

通过在谷歌搜索,我可以理解如下语法:

function(window, undefined) {
    // do something
} (window)

但我不知道任何关于语法的文章都有“!”操作

2 个答案:

答案 0 :(得分:3)

!运算符在那里,因此该函数被解析为表达式,而不是声明。由于无法调用声明,因此您的第二个示例是语法错误。

更常见的形式是将函数括在括号中:

(function(window,undefined) {
    // do something
}(window));

与使用任何一元运算符具有完全相同的效果。

答案 1 :(得分:0)

可能是这样的。

!(function(window, undefined){ /* some code */ })(window);
(function(window, undefined){ /* some code */ })(window);