① 在js中是沒有塊級作用域的,var 宣告的變數作用域是整個函式體,而let可以起到這一作用
console.log(b); // 2
console.log(a); // a is not defind
②
而let可以起到這一作用啊在js中變數和函式的宣告會提公升到當前作用域最頂部執行。這樣就會出現問題。
var a = ;
//函式和變數i會最先進行宣告,同時全域性變數i經過for迴圈賦值為10
for (var i = 0; i < 10; i++) ;
}console.log(i);//10
a[6]();//10
而使用let就解決了這個問題
for (let i = 0; i < 10; i++) ;
}a[6](); //6
③
let不像var那樣,會發生「變數提公升」現象
console.log(a); // a is not defined
let a = 1;
④ let不允許在相同塊級作用域內,重複宣告同乙個變數
// 報錯
// 報錯
① const也用來宣告變數,但是宣告的是常量。一旦宣告,常量的值就不能改變。
② 與let相同也不能在相同塊級作用域內重複宣告同乙個變數。
③ const的作用域與let命令相同:只在宣告所在的塊級作用域內有效。
const pi = 3.1415;
console.log(pi); // 3.1415
//pi = 3; // assignment to constant variable.(不能給常量賦值)
//const pi = 3.1;// identifier 'pi' has already been declared
ES6學習 let和const命令
1.let命令 所宣告的變數命令所在 塊有效 a referenceerror a is not defined.b 1for迴圈的計數器,就很適合let命令 for let i 0 i arr.length i console.log i referenceerror i is not defin...
ES6學習 let和const命令
說明 本文參考阮一峰的ecmascript 6 入門 console.log a 塊外使用會報錯 referenceerror a is not defined for迴圈內使用let和var產生的不同效果 下面 使用的是var,結果為10 var a for var i 0 i 10 i a 9 ...
ES6整理 let和const命令
es6介紹 ecma國際標準化組,他們希望這種語言成為國際化標準相容大部分主流瀏覽器,所以ecmascript就是js的一種寫作規格。es6在2015年提出的語法,在以前大部分瀏覽器沒有完全識別es6語法可以在node.js等框架內進行使用,但是現在es6語法已經被大部分瀏覽器所支援,可以在頁面上直...