模块二

模块二
输出是6 这里出现了闭包,a[6]存了一个函数,函数里面存了6,这个函数还引用着i。
模块二
报init的错误,因为在块级作用域里定义了let 这个新的 let 会形成作用域,如果使用前不声明就会报错。
模块二

模块二
var 缺点 1.有变量提升,未声明前可以使用,2.重复命名会覆盖,3.污染全局作用域,4.块级作用域,外面也能访问。
let 优点1.没有变量提升。2.未声明前不能使用。3.有自己的作用域。4,不会污染全局。
const 可以声明常量,值不能修改,但是引用类型的属性可以修改。必须初始化。和let一样有自己的作用域,不允许有同名的变量。
模块二
模块二
生成独一无二的标志,一般用于对象属性名以防重复被覆盖。
模块二
浅拷贝只能复制值到新属性,和对象的引用地址。
深拷贝是整个对象的所有属性拷贝到新对象,以及它嵌套的对象属性。
模块二
模块二

模块二
模块二
模块二
模块二