Skip to content
CJSESM
语法类型动态静态 |
关键声明requireexport与import
加载方式运行时加载编译时加载
加载行为同步加载异步加载
书写位置任何位置顶层位置
指针指向this指向当前模块this指向undefined
执行顺序首次加载时加载模块,再次引用时读取缓存引用时只生成只读引用,执行时才是正式取值
属性引用基本类型属于复制不共享,引用类型属于浅拷贝且共享所有类型属于动态只读引用
属性改动工作空间可修改引用的值工作空间不可修改引用的值,但可以通过引用的方法修改

运行时加载:指整体加载模块生成一个对象,再从对象中获取所需的属性方法去加载。最大特性是全部加载,只有运行时才能得到该对象,无法在编译时做静态优化

编译时加载:指直接从模块中获取所需的属性方法去加载。最大特性是按需加载,在编译时就完成模块加载,效率比其他方案高,无法引用模块本身,但可以扩展JS高级语法(宏与类型校验)