这是晚上很晚,所以我可能运行得不好,但是我找到了这段代码,我似乎无法弄清楚为什么它会像这样使用(注意:我明白它的作用,我不知道它是什么理解是它背后的意义).
(function() {
var narcissus = {
options: {
version: 185,
},
hostGlobal: this
};
Narcissus = narcissus;
})();
Run Code Online (Sandbox Code Playgroud)
自执行匿名函数用于避免污染全局命名空间,但是这段代码不需要引入其他变量,Narcissus因此它可以很容易地被重写为Narcissus = {...};.我能想到的一些可能的原因是代码或实现缺陷的面向未来.有没有我看不到的东西?
从可维护性的角度来看,它允许作者稍后在闭包范围中添加代码,这些代码不会在创建narcissus和分配之间泄漏Narcissus。尽管在这种情况下没有任何代码,所以除了this上面提到的内容之外我没有看到任何收益。
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |