我一直在尝试提高自己的JavaScript技能,并且我已经知道将脚本包装在匿名函数中的好处是可以使它自调用,并使变量和内部函数保持私有.
但是,将匿名函数分配给变量,然后在该函数中再次将与空对象相同的变量分配给我,这有什么意义呢?可以清除吗?
在函数的最后,返回的目的是什么?
var app = (function () {
'use strict';
var app = {};
//more code
return app;
})();
最佳答案
如前所述,您使用此语法创建了一个闭包,因此您可以将变量保持私有和公开状态,并将Interface保留为API,那么为什么要在闭包中返回并清空或填充对象呢?这是要使用的公共方法,这有助于避免您的API与外部API(库)之间的上下文冲突.
原文链接:https://www.f2er.com/js/531113.htmlvar api = (function(jqueryRef){
var $= {
addClass: jqueryRef.addClass,yourOwnAddClassFn: ...
};
return $;
})($);
如您所见,您可以将jquery引用作为参数传递,并且可以在闭包中使用它,然后可以在API中使用$common jquery命名空间而不会发生冲突.