这段代码有意义吗?

Gab*_*aru 6 javascript

这是晚上很晚,所以我可能运行得不好,但是我找到了这段代码,我似乎无法弄清楚为什么它会像这样使用(注意:我明白它的作用,我不知道它是什么理解是它背后的意义).

(function() {

    var narcissus = {
        options: {
            version: 185,
        },
        hostGlobal: this
    };
    Narcissus = narcissus;
})();
Run Code Online (Sandbox Code Playgroud)

自执行匿名函数用于避免污染全局命名空间,但是这段代码不需要引入其他变量,Narcissus因此它可以很容易地被重写为Narcissus = {...};.我能想到的一些可能的原因是代码或实现缺陷的面向未来.有没有我看不到的东西?

Ant*_*ile 1

从可维护性的角度来看,它允许作者稍后在闭包范围中添加代码,这些代码不会在创建narcissus和分配之间泄漏Narcissus。尽管在这种情况下没有任何代码,所以除了this上面提到的内容之外我没有看到任何收益。