为什么使用Let,const定义变量更节省内存?...,但是循环结束后,它并没有消失,释放,而是泄露成了全局变量,这样会造成全局变量的污染
解决办法:
若使用let定义变量,则变量不会被提升置作用域顶部,它只会在它定义的块级作用域内生效
注意事项
使用let...,但是循环结束后,它并没有消失,释放,而是泄露成了全局变量,这样会造成全局变量的污染
解决办法:
使用let定义变量的话,那么for循环的计数器变量i,只在for循环内有效
如下示例所示
var arr...(i)
}
}
console.log(arr[8]()); // 10, 11
在上面的代码中,使用var声明的,在全局范围内都是有效的,所以每一次循环,新的i值都会覆盖旧值,导致最后输出的是最后一轮的...const声明的常量必须进行初始化,不能留到以后在赋值
// 有效的常量
const maxLength = 10;
// 语法错误,常量未初始化
const name;
06
关于循环中const声明