javascript自动执行语法

javascript自动执行语法,javascript,jquery,html,Javascript,Jquery,Html,有人知道这样定义的代码吗: !function(window, undefined) { // do something } (window) 通过在google中搜索,我可以理解如下语法: function(window, undefined) { // do something } (window) 但是我没有找到任何关于语法的文章,其中有“!”操作符。这个运算符,因此函数被解析为表达式,而不是声明。由于无法调用声明,因此第二个示例是语法错误 一种更常见的形式是将函数括在

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

!function(window, undefined) {
    // do something
} (window)
通过在google中搜索,我可以理解如下语法:

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

但是我没有找到任何关于语法的文章,其中有“!”操作符。

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

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

(function(window,undefined) {
    // do something
}(window));
这与使用任何一元运算符的效果完全相同。

可能是这样的

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

我想你的意思是(函数(窗口,未定义){…})(窗口);我就是从这条线来的,很好奇。你所说的表达式是指if语句
if(function()){}
?感叹号将定义转换为表达式,这样括号就可以在后面调用它,因为它具有更高的优先级,
!function(){}()
(function(){})(