44、JavaScript let 和const关键字

var关键字声明变量,将变量或者形参所在函数的大括号作为作用域处理。局部作用域
 
let关键字:

let声明变量:只要遇到大括号就形成作用域
 
let关键字声明的变量,所在作用域叫做块级作用域
 
var声明变量i不存在独占一个作用域,每一次定时器触发,都是用的同一个i,所以上面例子中的当事件处理函数发生时,其实for循环早就结束了,而i永远都是5。把上面的例子相当于下面的
 
而let相当于每次都会重新定义一个i进行赋值
 
let案例:保存定时器中变量i

添加索引和使用this:
 
使用let:
 
const 声明变量 变量值只能在声明的时候确定,后续是没有办法修改的。
注:const声明常量(变量没法改)
1、 变量无法更改:;
 
2、 块作用域:;
 
3、 不存在变量提升;
 
let和const的用法相似:1.块作用域 2.不存在变量提升