js小笔记--letconst的理解

ES6 增加let命令声明变量,类似于var,但是所声明的变量,只在let声明的变量只在声明所在的代码块内有效,无法变量提升,可以解决for块中条件变量的使用问题。

创新互联-专业网站定制、快速模板网站建设、高性价比界首网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式界首网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖界首地区。费用合理售后完善,十多年实体公司更值得信赖。

如:

var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6] () // 显示10

let解决块中变量提升带来的麻烦

for (let i = 0; i < 10; i++) {
// ...
}

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。所以对于结构体或数组,指向内存地址所保存的值是一个地址地址,所以其中包含的其他元素值可以发生改变:

const a = [];
a.push('Hello'); // 可执行
a.length = 0; // 可执行
a = ['Dave']; // 报错,a为产量是不能赋予前他新的数组地址值


网站名称:js小笔记--letconst的理解
路径分享:http://hbruida.cn/article/ppgidd.html