2013-11-22 40 views
2

是否有任何理由我应该(或不应该)在node.js模块中的代码周围使用立即调用?在node.js模块中立即调用

通常为JavaScript在浏览器中我将总结我的所有代码,就像这样:

(function() { 
    var x, y; 

    // etc... 

}()); 

这当然使得它如此x和y的作用域的功能,而不是全局范围,但我了解node.js对每个模块都有一个不同的全局范围。那么,我应该忽略直接调用代码吗?像这样:

var x, y; 

// etc... 

回答

4

是的。

在Node.JS中,每个模块都是沙箱,并有自己的作用域。

+0

所以你说我不应该使用立即调用来强制沙箱? – spudly

+0

是的,你不应该。 – Techniv

+0

当您在模块中声明全局变量或函数时,它不会在应用程序的全局上下文中声明。 Juste为模块。 – Techniv