本文實(shí)例講述了JavaScript定義全局對象的方法。分享給大家供大家參考,具體如下:
成都創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、成都做網(wǎng)站與策劃設(shè)計(jì),鞏留網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鞏留等地區(qū)。鞏留做網(wǎng)站價(jià)格咨詢:13518219792
!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ù)傳遞。
如下也能實(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ú)立,可以當(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錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。