當前位置:編程學習大全網 - 源碼下載 - JS中;這種寫法是什麽意思

JS中;這種寫法是什麽意思

妳好,JS中的分號表示語句的結束,但是在JS中,分號不是必須的。

由於分號不是必須的,所以在做代碼壓縮的時候,經常會因為缺少分號導致代碼報錯,所以建議開發人員在寫JS代碼的時候都嚴格養成使用分號結束語句的習慣。壹些簡單的例子:

var?str?=?'I?am?a?string';

var?oArr?=?[];

oArr.push(str);

另外,我們在看別人源代碼的時候可能經常會發現下面這種寫法:

;(function(){

//?壹大堆代碼

})();

分號出現在了所有代碼的最前面,這並不是JS代碼的什麽特殊用法,這只是為了避免多文件合並時,某些文件結尾沒有分號,導致代碼錯誤,例如我們有兩個JS文件,內容分別是:

(function(){

function?JsClassA(){}

window.JsClassA?=?JsClassA;

})()(function(){

function?JsClassB(){}

window.JsClassB?=?JsClassB;

})();

這時候如果直接合並兩個文件,我們將會得到下面這段代碼:

(function(){

function?JsClassA(){}

window.JsClassA?=?JsClassA;

})()(function(){

function?JsClassB(){}

window.JsClassB?=?JsClassB;

})();

這個時候我們如果執行這段代碼就會得到壹個 'TypeError: undefined is not a function' 的錯誤。而如果我們在每個文件的開頭加壹個分號,我們得到的是:

;(function(){

function?JsClassA(){}

window.JsClassA?=?JsClassA;

})();(function(){

function?JsClassB(){}

window.JsClassB?=?JsClassB;

})();

這時再執行該段代碼,運行壹切正常。

希望能幫到妳,如有疑問歡迎追問,望采納~~~

  • 上一篇:關於在三年級廣場周圍安裝絲帶的教程
  • 下一篇:友情空間留言好句子
  • copyright 2024編程學習大全網