let 声明一个变量(类似var)
1.变量只在代码块内有效
2.变量在解析作用域是不会被提升
3.不允许声明(同一个作用域内)已存在的变量
4.let中的for循环
在循环语句之内是一个父作用域,在循环体中是一个子作用域,子不受父影响
eg1:不会被父中i<3所影响,依旧打印出三个10
eg2:按钮添加点击事件,弹出当前索引值
原因:点击事件是异步事件,没点击之前for已经完成循环
解决方案:
更多->>(加闭包文章)
const 声明一个常量
1,2,3同let(变量只在代码块内有效;变量在解析作用域是不会被提升;不允许声明同一个作用域内已存在的变量)
4.声明时必须赋值
5.声明的常量储存简单数据类型时不可改变其值,如果储存的是对象,那么引用不可被改变,至于对象里的数据如何变化没关系的