let命令
用来声明一个变量,和var类似
注意事项:
1、使用let声明的变量只在命令所在的代码块内有效。
1 | { |
2、使用let命令声明的变量在域解析的时候不会被提升。
1 | console.log(a); //可以打印出a 因为a域解析的时候被提升了 |
3、let不允许在同一个作用于下声明已经存在的变量
1 | var a=1; |
let在for循环中的应用
1 | var btns =document.querySelectorAll('button'); |
解决方法一
1 |
|
解决方法二
1 | //函数表达式,把i当作参数传到函数表达式当中 |
解决方法三:用let
1 | for(let i=0;i<btns.length;i++){ |
注意:let声明的变量在循环语句之内是一个父作用域,在循环体中是一个字作用域
1 | for (let i=0;i<3;i++){ |
const
const命令同样有上面let的1、2、3条特点,第一:所声明的常量只在其所在的代码块内有效。第二:声明的常量不会被提升。第三:不能声明已经被声明过的常量或变量。除了这些,在使用const声明常量的时候需要注意两点:1、声明的时候必须赋值。2、声明的常量储存简单的数据类型时候不可改变其值,如果储存的是对象,那么引用不可以被改变,至于对象里面的数据如何变化,是没有关系的。
1 | const obj={a:10}; |