手记

js小笔记 -- let const的理解


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

如:

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为产量是不能赋予前他新的数组地址值

©著作权归作者所有:来自51CTO博客作者daydaydream的原创作品,如需转载,请注明出处,否则将追究法律责任


0人推荐
随时随地看视频
慕课网APP