【问题标题】:Why is there sometimes a semicolon before an anonymous function? [duplicate]为什么匿名函数前有时会有分号? [复制]
【发布时间】:2013-11-08 16:43:01
【问题描述】:

我经常遇到这种情况:

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

我知道这个匿名函数被称为提供窗口作为范围。但是为什么前面有分号呢?我自己从来没有用过。

【问题讨论】:

  • 是自动生成代码吗?
  • 如果上一行不以分号结尾。
  • 它的作用与分号完全一样,分隔表达式,确保匿名函数不包含在前一个表达式中。
  • 你在哪里见过这样写的?看起来像是为了防止错误的复制粘贴作业造成的错误。

标签: javascript syntax


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多