js中ES Module和CommonJs的区别
1、CommonJS模块装入js文件的过程是同步的,运行时装入。
2、ES Module装入js文件的过程是在编译(解析)时装入的,它是异步的。
3、ES Module通过export导出的是变量本身的引用。
实例
let name = 'coderwhy'; setTimeout(() => { name = "湖人总冠军"; }, 1000); setTimeout(() => { console.log(name); }, 2000); export { name }
1、当代码在一个环境中执行时,它将创建一个功能域链。2、作用域链的使用,让变量沿着作用域链层层向上搜索,直到整体环境。3、每层功能域的性能消耗巨大,需要减少缓存顶部对象的搜索层数。实例var color = "blue" ...