Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么匿名函数前有时会有分号?_Javascript_Syntax - Fatal编程技术网

Javascript 为什么匿名函数前有时会有分号?

Javascript 为什么匿名函数前有时会有分号?,javascript,syntax,Javascript,Syntax,我经常遇到这样的情况: ;(function (window) { // ... }(window); 我知道这个匿名函数是通过提供窗口作为作用域来调用的。但是为什么在它前面有一个分号呢?我自己从未使用过它。通过将它放在那里,它确保前面的语句已关闭。在缩小JavaScript代码时,这一点尤为重要。最常见的问题之一是,当您没有一个文件以既无新行也无分号结尾,而与既无新行也无分号开头的文件合并时。有效地将第一个文件的最后一条语句与第二个文件的第一行合并,从而导致语法错误。将其放在那里,可

我经常遇到这样的情况:

;(function (window) {
    // ...
}(window);

我知道这个匿名函数是通过提供窗口作为作用域来调用的。但是为什么在它前面有一个分号呢?我自己从未使用过它。

通过将它放在那里,它确保前面的语句已关闭。在缩小JavaScript代码时,这一点尤为重要。最常见的问题之一是,当您没有一个文件以既无新行也无分号结尾,而与既无新行也无分号开头的文件合并时。有效地将第一个文件的最后一条语句与第二个文件的第一行合并,从而导致语法错误。

将其放在那里,可以确保前面的语句已关闭。在缩小JavaScript代码时,这一点尤为重要。最常见的问题之一是,当您没有一个文件以既无新行也无分号结尾,而与既无新行也无分号开头的文件合并时。这有效地将第一个文件的最后一条语句与第二个文件的第一行合并,导致语法错误。

是否自动生成代码?如果前一行不是以分号结尾。它在那里做分号的工作,分隔表达式,确保匿名函数未包含在以前的表达式中。您在哪里见过这样写的?看起来像是为了防止错误复制粘贴作业导致的错误。它是自动生成的代码吗?如果前一行不是以分号结尾的话。它正是在做分号所做的事情,分隔表达式,确保匿名函数不包含在前一个表达式中。您在哪里见过这样编写的代码?看起来像是防止错误的复制粘贴作业导致的错误。