ES6 第二章 let 和 const

2021-10-10 00:20:45 字數 1214 閱讀 9844

let用於宣告變數,但是只在最近的**塊之內有效。

for

(i=0;i<2;i++)

alert

(b) //20

alert

(a) //a is not defined

function test()

test()

; function s()s(

);function s()s(

);

function func(arg)

func()

;function func2(arg)

//不報錯

}func2()

;

1.外層**塊不收內層**塊的影響

var a = 5;

if(true)

alert

(a); //5

2.有三層塊級作用域,前面的作用域不可以訪問最內層的a

}}

}alert

(a); //5}}

}

3.考慮到環境導致的行為差異太大,最好寫成函式表示式,而不是函式宣告語句。

// 塊級作用域內部的函式宣告語句,建議不要使用

}// 塊級作用域內部,優先使用函式表示式

;}

1、const宣告乙個唯讀的常量。一旦宣告,常量的值就不能改變。

if(true)

alert

(a); //報錯:找不到

if(true)

const a = 5;

const a = 4; //報錯:a已經被宣告過了

2、本質

並不是變數的值不得改動,而是變數指向的那個記憶體位址所儲存的資料不得改動。對於簡單型別的資料(數值、字串、布林值),值就儲存在變數指向的那個記憶體位址,因此等同於常量。

對於復合資料型別,我們可以對它使用一些方法,但不可直接賦值。

(1)var和function

宣告的全域性變數,依舊是頂層物件的屬性

(2)let和const屬性

宣告的全域性變數,不屬於頂層物件的屬性

(3)import命令和class命令

ES6學習2章 let和const命令

用於宣告變數,類似於var,但let命令所在的 塊內有效 特點 只在 塊內有效 不存在變數提公升 必須先宣告後使用,否則會報錯 暫時性死區 不允許重複宣告 用let宣告的變數只在當前塊 中有效,在塊級作用域外是拿不到的 console.log a reference errores5中 var宣告的...

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 函式...