我经常看到这种模式:
var suchAndSuch = new (function() {
this.thing = "something";
this.whoaLookAtThat = function() {
return 4;
}
return {
'thing' : thing,
'whoaLookAtThat' : whoaLookAtThat
}
})();
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?这是return声明的一部分让我感到困惑.
我只是没有特别使用IIFE.
如果不出意外,知道它叫什么会帮助我研究它.
这是一个立即执行的函数和一个(混乱的位)闭包的组合.我认为你的例子可能有点瑕疵,如果是这样可能会更好:
var suchAndSuch = (function() {
var thing = "something";
function setThing(newThing){
//maybe do some error checking here
thing = newThing;
};
function getThing(){
return thing;
};
return {
getThing : getThing,
setThing : setThing
}
})();
Run Code Online (Sandbox Code Playgroud)
然后你会有一个函数执行立即返回一个新对象,有效地提供一个私有变量和一个访问器函数.我曾经多次使用这样的结构.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |