,所使用的变量就已存在,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量
04
为什么使用let,const声明变量可节省内存空间
如下面代码
function f(condition...[];
for(const i = 0; i< 10;i++) {
arrs.push(function() {
console.log(i);
})
}
在这段代码中,变量i被声明为常量...,在第一次循环中,i是0,迭代执行成功,然后执行i++,因为这条语句试图修改常量,因此抛出错误,如果后续循环不会修改该常量,那么可以使用const声明
比如:for-on或for-of循环中使用const...window对象),使用var会覆盖一个已经存在的全局变量
let,const和class命令声明的全局变量不属于全局对象的属性,声明的变量不会提升,而且只可以在声明这些变量的代码块中使用
不能在声明变量前访问它们...如果不想为全局对象创建属性,则使用let和const要安全得多
如果希望在全局对象下定义变量,仍然可以使用var,这种情况下常见用于在浏览器中跨ifram或跨window访问代码
08
具体什么时候使用