1、let 和 var
区别1:var有声明提升,而let没有
var:
var a=10
console.log(a);//'abc'
等价于:
var a
a=10
console.log(a);//'abc'
区别2:var可以重复声明变量,而let不可以
var a=10
var a=90
console.log(a) //90
区别三:var是函数作用域,let是块级作用域,块级作用域即是花括号包裹起来的区域,也就是说函数作用域包括块级作用域。
var:
function a(){
var num=10
console.log(num)
}
a() //打印10
console.log(num) //打印undefined
for(var i=0;i<10;i++){
//注意:i是在花括号内部定义的
}
console.log(i)//打印10
let:
for(let i=0;i<10;i++){
//注意:i是在花括号内部定义的
}
console.log(i)//提示未定义