js中用函数闭包进行封装---(function($, owner) {}(mui, window.export = {}));

可以利用js中函数的闭包进行封装

通常我们可以用下面这种方法进行一个封装,这样在外部引入我们写的这个js文件后,就可以直接使用export.getUserId()这种形式去调用该函数

(function($, owner) {
    /*
     * 中间就可以进行封装操作
     * $就代表mui,owner就代表window的export属性,就是一个传值
     */
    var _userId = 1;
    function converter(userId){
        return +userId;
    }
    owner.getUserId = function(){
        return converter(_userId);
    }
}(mui, window.export = {}));

上面写法等价于下面这一种,下面可能更易于理解,但都差不多,这样就进行了封装
然后在其他地方就可以通过window的全局对象来调用(直接用对象名即可),如:
export.getUserId() //得到的值就是1


因为函数有函数的作用域,所以函数内部定义的变量外部是无法访问的,那么要想外部访问到怎么办呢?
这里可以通过定义一个export对象,将这个对象输出出去(输出到window的export对象)
这样外部就能拿到这个对象里定义的变量(方法)

(function(){
    var _userId = 1;
    var export = {};
    function converter(userId){
        return +userId;
    }
    export.getUserId = function(){
        return converter(_userId);
    }
    window.export = export;
}());

这里如果直接用export._userId,是拿不到这个属性的,除非你定义为export._userId,这样就可以,

转载于:https://www.cnblogs.com/longduanbin/p/9096032.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值