(function (exports, require, module, __filename, __dirname) {
/*
Node.js在执行每一个js文件,都会将执行的js文件内容放到一个函数中去,请问为什么不直接执行?
Node版本 6.14.1
*/
});
(function (exports, require, module, __filename, __dirname) {
/*
Node.js在执行每一个js文件,都会将执行的js文件内容放到一个函数中去,请问为什么不直接执行?
Node版本 6.14.1
*/
});
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
因为js只有全局作用域,函数作用域,块作用域(ES6), eval作用域这四个。eval由于一些问题很少被使用,块作用域由于是ES6的,存在一些兼容性问题,所以比较常见的就是全局作用域和函数作用域。为了防止与全局作用域冲突,以及兼容老的代码,所以就采用了函数作用域,也就是使用函数包裹一个js文件,这样可以实现作用域隔离。