阮一峰老師的《ES6標準入門》塊級作用域與函式宣告

2021-10-03 14:57:03 字數 520 閱讀 5542

在學習阮一峰老師的《es6標準入門》塊級作用域與函式宣告部分時,有一部分理解不通

// 瀏覽器的 es6 環境

function f()

(function ()

} f();

}());

// uncaught typeerror: f is not a function

上面的例子實際執行的**如下。

// 瀏覽器的 es6 環境

function f()

(function ()

} f();

}());

// uncaught typeerror: f is not a function

當你在閉包內定義了乙個f函式,即使他不被執行,但f在這裡是作為全域性變數,它覆蓋了之前f函式的定義,所以在你後面呼叫f()的時候會顯示未定義,如果把if那一段去掉就會有結果,或者把閉包內的f函式用let定義為乙個區域性變數

阮一峰的es6

1.let命令 塊級作用域 for迴圈 2.不存在變數提公升 3.暫時性死區 4.不允許重複宣告 5.為什麼需要塊級作用域 6.es6塊級作用域的巢狀 7.塊級作用域與函式宣告 8.do表示式 9.const命令 宣告常量 const的作用域與let命令相同 只在宣告所在的塊級作用域內有效 cons...

ES6標準入門 6 陣列的擴充套件

擴充套件運算子 spread 例子1 es5 的寫法 function f x,y,z let args 0,1,2 es6 的寫法 f args 例子2 es5 的寫法 let arr1 0,1,2 let arr2 3,4,5 es6 的寫法 arr1.push arr2 與解構賦值結合 函式的...

《ES6標準入門》(一)let和const

一 let命令 1 let的作用域只在 塊內,塊外無效 var全域性有效 var a for var i 0 i 10 i a 6 對於這段 變數i是var宣告的,在全域性範圍內有效,所以每一次迴圈,新的i值都會覆蓋舊值,導致最後輸出的是最後一輪的i值 如果使用let,宣告的變數僅在塊級作用域內有效...