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

前端之家收集整理的这篇文章主要介绍了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命名空间而不会发生冲突.

原文链接:https://www.f2er.com/js/531113.html

猜你在找的JavaScript相关文章