es6 函式引數作用域

2021-08-21 18:59:00 字數 515 閱讀 3171

函式的引數會形成乙個單獨的作用域

//因為函式引數形成乙個單獨作用域,所以foo的引數x和匿名函式中的x是處於同乙個作用域中。foo函式內部使用的x就是引數x,給x賦值為3,但是後邊接著執行y(),修改x=2,所以最後輸出2

var x = 1;

function foo(x, y = function() )

foo(); // 2

//下面例子中有3個作用域的x,

var x = 1; //全域性

function foo1(x, y = function() )

foo1(); // 3

//本例子充分說明匿名函式內的x不能訪問函式foo1函式內的區域性變數x

var x = 1;

function foo1(x, y = function() )

foo1(); // undefined 3

但是一定要注意,上面第三個例子中,在函式內部重複宣告引數,如果換成let來宣告是不對的。

ES6 函式引數

引數收集 展開 1.收集剩餘引數 rest parameter 必須是最後乙個 function show a,b,args show 2017,12,21,20,10 2.展開陣列 let arr1 1,2,3 let arr2 4,5,6 let arr3 arr1,arr2 console.l...

ES6 函式 引數

函式的引數 1 引數擴充套件 陣列展開 1 收集 剩餘的 引數 function show a,b,args 三點運算子 rest parameter 必須是最後乙個 function show a,b,args show 12,15,8,9,20 輸出 12 15 8,9,20 2 陣列展開 展開...

ES6中的作用域

1.for中設定迴圈變數的那部分是乙個父作用域,而迴圈體內部是乙個單獨的子作用域。例 for let i 0 i 3 i 輸出三次test,因為是兩個不同作用域,互不影響 2.var a for var i 0 i 10 i a 6 上面 中,變數i是var命令宣告的,在全域性範圍內都有效,所以全域...