Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我经常遇到这种情况:
;(function (window) { // ... }(window);
我知道这个匿名函数被称为提供窗口作为范围。但是为什么前面有分号呢?我自己从来没有用过。
通过把它放在那里,它确保前面的语句被关闭。当您缩小 JavaScript 代码时,这一点尤为重要。最常见的问题之一是当您没有一个既不以新行也不以分号结尾的文件并且与既不以新行也不以分号开头的文件合并时。这有效地将第一个文件的最后一条语句与第二个文件的第一行合并,从而导致语法错误。