为什么JQuery ui.core.js中的主要分号?

Ray*_* Lu 3 jquery-ui

我发现JQuery UI的ui.core.js代码的开头很有意思,

;jQuery.ui || (function($) {
// code...
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

有什么理由';' 在前面?

And*_*ore 9

如果有人希望在另一个脚本的末尾连接这个文件,那么它就是用于连接的目的.它有效地简化了对未通过分号正确终止的脚本的连接.

因此,给出以下脚本:

alotOfJsCode(argument);
var fileEnd = noSemiColon
Run Code Online (Sandbox Code Playgroud)

开头的分号可以防止这种情况:

alotOfJsCode(argument);
var fileEnd = noSemiColonjQuery.ui || (function($) { //...
Run Code Online (Sandbox Code Playgroud)

哪会导致代码失败.

在JavaScript中,分号本身都没有语法值.以下两个陈述是相同的:

//Statement 1
;;; ;; ; alert('hello world!'); ;;; ;; ;;

//Statement 2
alert('hello world!');
Run Code Online (Sandbox Code Playgroud)