ES6 增加let命令聲明變量,類(lèi)似于var,但是所聲明的變量,只在let聲明的變量只在聲明所在的代碼塊內(nèi)有效,無(wú)法變量提升,可以解決for塊中條件變量的使用問(wèn)題。
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比界首網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式界首網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋界首地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴(lài)。
如:
var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6] () // 顯示10
let解決塊中變量提升帶來(lái)的麻煩
for (let i = 0; i < 10; i++) {
// ...
}
const實(shí)際上保證的,并不是變量的值不得改動(dòng),而是變量指向的那個(gè)內(nèi)存地址所保存的數(shù)據(jù)不得改動(dòng)。所以對(duì)于結(jié)構(gòu)體或數(shù)組,指向內(nèi)存地址所保存的值是一個(gè)地址地址,所以其中包含的其他元素值可以發(fā)生改變:
const a = [];
a.push('Hello'); // 可執(zhí)行
a.length = 0; // 可執(zhí)行
a = ['Dave']; // 報(bào)錯(cuò),a為產(chǎn)量是不能賦予前他新的數(shù)組地址值