js-实现类似带有命名空间的js写法总结-模块化调用-prototype用法
1、
var common = window.common || {}; //防止window中已有common对象时被替换
common.doSomething = function(argument){
//TODO
}
调用方法
common.doSomething(argument)
2、
var XXXTool = {
init:function(argument){
//TODO
}
}
调用方法
XXXTool.init(argument)
3、prototype用法,详见《js-模块化调用》
var XXXTool = function(Argument){ //可选 相当于构造器
//注意这里的this对象和java中this对象稍有不同,
//把一个对象定义到this上,实际上就和这个this绑定在一起,调用时必须加上this
var _this = this;
_this.aaa = "AAA";
XXXTool.prototype.init=function(argument){
//TODO
//需要使用aaa变量,这需要调用 _this.aaa
}
function _privateFunc(){ //私有方法,禁止外部调用(编程规范)
// invoke init()
_this.init();// 需要加上_this
}
}
调用方法
var XXXTool = new XXXTool(argument1);
XXXTool.init(argument2);
4、立即执行函数传参window.UserInfo = {},对象暴露给UserInfo,详见《js-模块化调用》
(function(user) {
user.getUserInfo = function() {//别错
var stateText = localStorage.getItem('key_xxx_app_UserInfo') || {};
return JSON.parse(stateText);
};
}(window.UserInfo = {}));
调用方法
UserInfo.getUserInfo();
- 本文标签: JavaScript
- 本文链接: https://code.jiangjiesheng.cn/article/105
- 版权声明: 本文由小江同学原创发布,转载请先联系本站长,谢谢。