在html上使用javascript我总是使用iife来节省全局名称空间污染。
(function() {})();
但是由于nodejs使用common.js并且几乎每个文件本身都是一个模块,在启动文件时生成(如果使用ES5)是否有意义?
答案 0 :(得分:5)
不,它没有。
在内部,Node已经使用函数包装模块的内容以创建新范围。
您可以找到具体内容in this file;模块内容被包装的函数被定义为here,in this method你看到在包装模块代码之后,它几乎立即被执行(类似于IIFE所做的那样)。