
ES6
文章平均质量分 54
Silence_555
前端小白一枚
展开
-
CommonJS和ES6模块化的区别
CommonJS 对于基本数据类型,属于复制。即会被模块缓存。同时,在另一个模块可以对该模块输出的变量重新赋值。 对于复杂数据类型,属于浅拷贝。由于两个模块引用的对象指向同一个内存空间,因此对该模块的值做修改时会影响另一个模块。 当使用require命令加载某个模块时,就会运行整个模块的代码。 当使用require命令加载同一个模块时,不会再执行该模块,而是取到缓存之中的值。也就是说,CommonJS模块无论加载多少次,都只会在第一次加载时运行一次,以后再加载,就返回第一次运行的结果,除非手动清除系统缓存。原创 2021-07-15 16:54:21 · 199 阅读 · 0 评论 -
Var、const、let 的区别
var声明的变量是全局的,存在变量提升 let声明的变量只在块级作用域中生效,使用let生命的变量,不允许在当前作用域范围内重复声明,因为存在暂时性死区,所以不会有变量提升 const声明的变量,必须在声明的时候就赋值,一经赋值不能改变,赋相同的值也不可以 注意: 在循环中,let声明的循环变量,会特殊处理,每次进入循环体,都会开启一个新的作用域,并且将循环变量绑定到该作用域(每次循环,都是一个全新的循环变量),循环结束后会自动销毁 ...原创 2021-06-28 11:40:24 · 134 阅读 · 0 评论