本文实例讲述了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
通过立即执行函数将对象(Hi)定义函数作为参数(factory)传递给立即执行函数
!function (factory) { }();
在立即执行函数中,将要定义的对象作为立即执行函数的参数函数的参数传递。
如下也能实现了相同的对象定义:
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.namemyObj.__a();//myObj.__a
这些定义方法相对比较独立,可以当作党都功能模块保存、使用。
类似 Jquery 的插件写法。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
新闻热点
疑难解答