本文实例讲述了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.name myObj.__a();//myObj.__a
这些定义方法相对比较独立,可以当作党都功能模块保存、使用。
类似 Jquery 的插件写法。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。