let
為j**ascript
新增了塊級作用域,外層作用域無法獲取到內層作用域,這樣非常安全。即使外層和內層都使用相同變數名,也都互不干擾。
例如:
1function test()
7 console.log(a); //
輸出:18}
910 test(); //
呼叫函式
塊級作用域,允許函式可以在塊級作用域中宣告。在塊級作用域之外不可引用。
例如:
15}6 fn(); //
正常訪問
使用函式表示式來寫
1;5fn();
6 }
ps:es6
的塊級作用域必須有大括號,如果沒有大括號,j**ascript
引擎就認為不存在塊級作用域。
ES6的塊級作用域
為什麼要使用塊級作用域?1.在預編譯階段,變數的宣告會被提公升到作用域頂部,而初始化操作依舊留在原處執行,在該作用域中未定義變數的地方也能訪問到該變數,但是此時變數尚未初始化,所以其值為undefined,為此es6引入塊級作用域來強化對變數生命週期的控制 塊級宣告 1.塊級作用域用於宣告在指定塊的...
es6 塊級作用域用法
iife 寫法 function 塊級作用域寫法 塊級作用域的出現,實際上使得獲得廣泛應用的立即執行函式表示式 iife 不再必要了。function f function f 上面 在 es5 jscript不支援塊級作用域環境中執行,會得到 i am inside 因為在 if內宣告的函式f會被...
es6學習 塊級作用域let const
先安裝node 新建1.js檔案,通過node的 cmd進入本地檔案1.js 執行 node 1.js 可以測試以下 1.基本用法 let 宣告變數,只在塊級作用域有效。console.log a a is not defined console.log b 2 在for 迴圈中使用,迴圈和迴圈內部...