這是本門課程的第一講--let和const關鍵字的使用
一、let的使用及其注意事項
說明var
let申明位置
使用前後都可以申明
必須在使用前就申明
變數解析
編寫時在使用後申明的變數存在變數提公升
不會進行變數提公升,要使用必須先申明
作用範圍
全域性或者整個函式
只在申明變數的區域性能夠使用
全域性定義
變數會成為window物件的屬性,不會成為global的屬性
變數不會成為全域性物件的屬性
綜述:相較於var,let定義的變數更嚴謹,可以從語法層面避免重複申明等問題;而且let定義的變數因為只在區域性**段內有效,不存在變數汙染。
由於let關鍵字的變數是相較於var有了全面性的改進和提公升,建議在es6的專案中全面使用let來代替var來定義變數
接下來,我們通過一些例子來演示let關鍵字的使用(測試環境 nodejs 10.2.0)
例1:正常定義(先申明變數再使用)
let str1 = 'hello'
console.log(str1) // hello
例2:先使用再定義(出錯)
console.log(str1) // str1 is not defined
let str1 = 'hello'
例3: 在for迴圈內定義
let sum = 0;
for(let i=0; i<= 100; i++ )
console.log(i) // i is not defined
console.log(sum)
例4: **段內定義
let n = 5
if (false)
console.log(n) // 5
例5: **段內定義
let n = 5
if (true)
console.log(n) // 5
例6: **段內定義
let n = 5
if (true)
console.log(n) // 5
例7: **段內
let n = 5
if (true)
console.log(n) // 5
例8: let與var在定義全域性變數(nodejs)
let n=5
var sum = 100
console.log(global.n) // undefined(未定義該屬性)
console.log(global.sum) // undefined
例9: let與var在定義全域性變數(瀏覽器)
let n=5
var sum = 100
console.log(window.n) // undefined(未定義該屬性)
console.log(window.sum) // 100
二、const的使用及其注意事項
const關鍵字定義程式裡面的常量,使用是必須在申明常量的同時就定義了相關的值,而且在程式執行中,不能再次賦值。可以通俗的理解為「出生決定一切」,看幾個例子(測試環境 node 10.2.0)
例1:(正常定義)
const pi = 3.1415926
console.log(pi)
例2: (先申請,後定義)
const pi // missing initializer in const declaration(缺少常量初始值)
pi = 3.1415926
console.log(pi)
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命令
在js中是沒有塊級作用域的,var 宣告的變數作用域是整個函式體,而let可以起到這一作用 console.log b 2 console.log a a is not defind 而let可以起到這一作用啊在js中變數和函式的宣告會提公升到當前作用域最頂部執行。這樣就會出現問題。var a 函式...
es6學習筆記 let和const
console.log b uncaught referenceerror a is not defined 在for迴圈中,迴圈語句部分是乙個作用域,內部又是乙個作用域 for let a 1 a 3 a 在let宣告變數完成前,對變數賦值會出錯es中模仿塊級作用域 function functi...