• 保存到桌面  加入收藏  设为首页
HTML5

js-实现类似带有命名空间的js写法总结-模块化调用-prototype用法

时间:2017-10-20 09:34:54   作者:江节胜   来源:胜行天下网   阅读:383   评论:0
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();

-----------------------------------------------------------------------------------------------

其他更多用法见《js-模块化调用》

-----------------------------------------------------------------------------------------------



有任何疑问或技术合作都可联系我

微信:767000122 【推荐】

QQ:596957738


相关评论

加我微信 596957738 (QQ同号)加我微信   QQ联系:596957738   地址:江苏省南京市雨花台区

苏公网安备32011402010305号

皖ICP备16019989号

江节胜的Gitee,江节胜的Git地址