var的作用域是方法作用域,let和const的作用域为块作用域;
方法作用域如:
function method(){
var a = ;
…
};
在function外部是无法访问到里面的数据;
块作用域如:
for(let i=0;i<3;i++){
let a=0;
…
};
在for循环的外部是无法访问里面的数据;
let和const都属于块作用域,他们的区别在于let声明的变量可以改变值,const声明的不能改变值。如果const声明的是一个数组和对象,数组和对象的属性值可以改变;