(function() {})();、XX=XX||{};的定義及作用!,functionxx

來源:互聯網
上載者:User

(function() {})();、XX=XX||{};的定義及作用!,functionxx

最近做項目遇到了這個問題,順便記錄下來!

網上找了下資料理解理解,給出我的理解如下:

問題1:

(function() {})():這function() {}表示的是一個匿名函數,而()則包裹著function() {},()表示的是擁有最進階的優先執行權,即會優先執行function() {}這個匿名函數。最後的(),則表示的是執行完function() {}後,立即調用這個function() {}匿名函數。

比如:

如果function() {} 比作 function xx() {},()則表示xx(),即調用了定義後的xx函數。

案例:

(function(){
alert(0)
})();

結果:彈框顯示0;

(function(){
alert(0)
});

結果:不彈框顯示0;

問題2:

XX=XX||{};//表示聲明一個叫XX的命令空間(定義一個全域變數--在javascript中,沒有使用var聲明的變數都被當成全域變數來處理)。

XX.kk=(function(){

XX.yy=function(){//聲明一個叫XX.yy的命名空間(通過全域變數的增加屬性的方式把閉包裡的對象傳到全域變數中,實現代碼封裝的效果

return "xxx";

};

var data1="";

(function(){

data1="xxx";

})();

return {data1:data1};

})();

-----------調用

alert(XX.yy());

alert(XX.kk.data1);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.