JavaScript定義全局對象的方法示例
本文實例講述了JavaScript定義全局對象的方法。分享給大家供大家參考,具體如下:
!function (factory) { factory(window['Hi'] = { __a: function () { console.log('Hi.__a'); }, __b: function () { console.log('Hi.__b'); }, __c: function () { console.log('Hi.__c'); } }); }(function (Hi) { if (typeof Hi === undefined) { Hi = {}; } Object.defineProperty(Hi, 'appName', { get: function () { return 'this is app name.'; } }) }); console.log(Hi.appName);//this is app name. Hi.__b();//Hi.__b
通過立即執(zhí)行函數(shù)將對象(Hi)定義函數(shù)作為參數(shù)(factory)傳遞給立即執(zhí)行函數(shù)
!function (factory) { }();
在立即執(zhí)行函數(shù)中,將要定義的對象作為立即執(zhí)行函數(shù)的參數(shù)函數(shù)的參數(shù)傳遞。
如下也能實現(xiàn)了相同的對象定義:
var myObj = myObj || {}; (function (myObj) { myObj.__a = function () { console.log('myObj.__a'); }; myObj.name = 'this is myObj.name'; })(myObj); console.log(myObj.name);//this is myObj.name myObj.__a();//myObj.__a
這些定義方法相對比較獨立,可以當(dāng)作黨都功能模塊保存、使用。
類似 Jquery 的插件寫法。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
js插件設(shè)置innerHTML時在IE8下提示“未知運行時錯誤”解決方法
這篇文章主要介紹了js插件設(shè)置innerHTML時在IE8下提示“未知運行時錯誤”解決方法,較為詳細(xì)的分析了錯誤的原因及對應(yīng)的解決方法,需要的朋友可以參考下2015-04-04[js高手之路]單例模式實現(xiàn)模態(tài)框的示例
下面小編就為大家?guī)硪黄猍js高手之路]單例模式實現(xiàn)模態(tài)框的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09字節(jié)跳動面試之如何用JS實現(xiàn)Ajax并發(fā)請求控制
這篇文章主要給大家介紹了關(guān)于字節(jié)跳動面試之如何用JS實現(xiàn)Ajax并發(fā)請求控制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05通過seajs實現(xiàn)JavaScript的模塊開發(fā)及按模塊加載
seajs實現(xiàn)了JavaScript 的 模塊開發(fā)及按模塊加載。用來解決繁瑣的js命名沖突,文件依賴等問題,其主要目的是令JavaScript開發(fā)模塊化并可以輕松愉悅進(jìn)行加載。下面我們來一起深入學(xué)習(xí)下吧2019-06-06