let和var的不同
首先,我们都知道var的作用域是全局的或者是函数级的,也就是说用var定义的变量,要么是在函数外部供全局使用,要么是在函数内部定义供函数内部使用。
而let定义变量的作用域是块级的,相比于var它的作用域更加细化了,一般作用域在花括号{}中。
if(true){
let a = 5;
}
console.log(a);//报错。显示a未定义
if(true){
var a = 5;
}
console.log(a);//5
首先,我们都知道var的作用域是全局的或者是函数级的,也就是说用var定义的变量,要么是在函数外部供全局使用,要么是在函数内部定义供函数内部使用。
而let定义变量的作用域是块级的,相比于var它的作用域更加细化了,一般作用域在花括号{}中。
if(true){
let a = 5;
}
console.log(a);//报错。显示a未定义
if(true){
var a = 5;
}
console.log(a);//5