import和require的区别
来源:洛阳达内IT教育培训机构时间:2021/8/24 9:43:33
import和require的区别
我们在进行前端开发时,我们会使用import或者require进行模块化处理。对于这两种方式,它们之间是有区别的,当然在某些场景下,它们是没有区别的。但是理解它们的区别,这才是它们被创建出来的理由。
接下来,我们对它们的区别进行讲解。
区别
require使用的是CommonJs规范,而import则使用Es6模块规范;因此,两者的区别本质上是两种规范的区别;
CommonJS:
1.对于基本数据类型,属于复制。也就是说,它会被模块缓存;同时,再另一个模块可以对该模块输出的变量重新赋值。
2.对于复杂数据类型,这属于浅拷贝。因为两个模块引用的对象都指向同一个内存空间,所以在修改这个模块的值时会影响到另一个模块。
3.当使用require命令加载某个模块时,整个模块的代码将被运行。
4.使用require命令加载同一个模块时,模块不再被执行,而是从缓存中获取值。这意味着,我们不管进行了多少次的CommonJS模块加载,它只会再次加载时运行一次,就算你以后再加载,它只会返回次运行的结果,除非你手动清除系统缓存。
5.当循环加载时,属于加载时执行。也就是说,在脚本代码在require的时候,就会全部执行。当某一个模块发生“循环加载”时,只输出已经执行的部分,而尚未执行的部分不输出。
尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/3850/news/399809/违者必究!
以上就是洛阳达内IT教育培训机构 小编为您整理 import和require的区别的全部内容。