【发布时间】:2018-01-03 11:14:52
【问题描述】:
纯粹出于好奇,我看到了如下代码
let GlobalActions = function () {
let doSomething= function () {
//Do Something
};
return {
doSomething: function () {
doSomething()
}
};
}();
GlobalActions.doSomething();
起初,我以为是关于作用域的,也许var外部声明的变量在初始化后无法从内部的每个函数中访问;然而,事实并非如此。
然后我想到了做上面而不是下面的好处是什么?
let GlobalActions = {
doSomething: function () {
//Do Something
};
};
GlobalActions.doSomething();
【问题讨论】:
-
这是用于私有成员的所谓“模块模式”,参见Private Members in JavaScript。有many, many questions here already(所以这可能是其中一些的重复,可能是why module pattern?)。
标签: javascript