本文实例讲述了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程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
offset、client、scroll (width,height、left,top、X,Y)
网友评论