微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-为什么将变量分配给匿名函数并在该函数中重新定义它?

我一直在尝试提高自己的JavaScript技能,并且我已经知道将脚本包装在匿名函数中的好处是可以使它自调用,并使变量和内部函数保持私有.

但是,将匿名函数分配给变量,然后在该函数中再次将与空对象相同的变量分配给我,这有什么意义呢?可以清除吗?

函数的最后,返回的目的是什么?

var app = (function () {
    'use strict';

    var app = {};

    //more code

    return app;
})();
最佳答案
如前所述,您使用此语法创建了一个闭包,因此您可以将变量保持私有和公开状态,并将Interface保留为API,那么为什么要在闭包中返回并清空或填充对象呢?这是要使用的公共方法,这有助于避免您的API与外部API(库)之间的上下文冲突.

var api = (function(jqueryRef){
                   var $= {
                      addClass: jqueryRef.addClass,yourOwnAddClassFn: ...
                    };
                    return $;
                 })($);

如您所见,您可以将jquery引用作为参数传递,并且可以在闭包中使用它,然后可以在API中使用$common jquery命名空间而不会发生冲突.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐