javascript文件中的前导分号是什么意思?

时间:2014-04-14 09:13:59

标签: javascript

我有一个以

开头的文件jquery.flex.js

enter image description here

开始是什么意思?

3 个答案:

答案 0 :(得分:4)

这个分号的目的是避免在文件与另一个文件连接时出错。

例如,假设您有两个这样的文件:

(function(){
    ...
})()

只要它在两个单独的文件中就可以了,但如果你将它们连接起来就是一个错误,因为它经常用来减少请求的数量。会发生什么事情,基本上你有

(A)()(B)()

并且引擎尝试使用参数(A)()调用B的结果。

添加分号来分隔语句可以解决问题。

答案 1 :(得分:1)

由于大多数模块都以自执行函数(function() {/* module code */}())开头,因此后面的分号只是一个安全问题:

举个例子:如果你在你的网站上加载两个js模块,第一个模块结束而不用分号:

(function firstModule (window, undefined) {
    /* whatever this module does comes here */
})()

,第二个看起来一样:

(function secondModule (window, undefined) {
    /* whatever this second module does comes here */
})()

然后你遇到了问题。因为您的第一个模块将自行执行,而第二个模块将尝试执行第一个模块自执行的结果:

(firstModule)()(secondModule)()

这通常会破坏您的代码,或者至少会导致意外行为。

因此,在模块代码中添加前导分号是一种简单的模式:

;(firstModule)();(secondModule)()

一切都很好。

答案 2 :(得分:-1)

我不知道你要求的是什么,但你的标题是:

  

逗号在javascript中的含义是什么?

它用作分隔符。