let :
(ES6新增加的知识点) babel可以把ES6转成ES5
变量: var let
区别:var 会进行变量提升, 会在window(全局作用域)下挂属性,不受限于块,可以重复命名
let 不会变量提升, 在声明的上方有暂存死区,受限于块,不可重复命名
let的好处:
1.在同域中不能有2个相同的名字出现(也包括形参),不然就报错
2.不会与window进行映射(不在window上属性)
3.变量声明的上方,有暂存死区(就报错)
4.支持块级作用域,只要有{}都支持块
常用的:
1 if(){} 2 for(){} 3 while(){} 4 () => {} 5 switch(){} 6 function fn(){} 7 {}
常量:const
1.不可变的量,一变就报错
2.声明之后必须赋值,不赋值就报错
3.不会与window进行映射(不在window上属性)
4.变量声明的上方,有暂存死区(就报错)
5.支持块级作用域,只要有{}都支持块
应用场景:
一般这个值不会变了,就用常量
获取静态元素的时候可以使用
用的是它的一变就报错的特性
1 const num = 500; 2 const lis = document.querySelectorAll('li');