es6 允許為函式的引數設定預設值,即直接寫在引數定義的後面。
function log(x, y = 'world')
log('hello') // hello world
log('hello', 'china') // hello china
log('hello', '') // hello
也可以使用表示式來計算
let x = 99;
function foo(p = x + 1)
foo() // 100
x = 100;
foo() // 101
陣列和物件的寫法
// 陣列的寫法
function add([x, y])
// 物件的寫法
function move( = {})
es6 引入 rest 引數(形式為...變數名),用於獲取函式的多餘引數,這樣就不需要使用arguments物件了。rest 引數搭配的變數是乙個陣列,該變數將多餘的引數放入陣列中。
unction add(...values)
return sum;
}add(2, 5, 3) // 10
rest 引數之後不能再有其他引數(即只能是最後乙個引數),否則會報錯。
注意點函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。
不可以當作建構函式,也就是說,不可以使用new命令,否則會丟擲乙個錯誤。
不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用 rest 引數代替。
不可以使用yield命令,因此箭頭函式不能用作 generator 函式。
es6的函式拓展
參考 1.增加函式預設值 es6允許為函式提供預設值,與解構賦值一起使用,非常地方便 function foo foo 相當於執行let 輸出undefined 5 foo 相當於執行let 輸出 1 5 foo 1 2 foo typeerror cannot read property x of...
ES6 函式拓展內容
es6允許為函式的引數設定預設值,即直接寫在引數定義的後面。function log x,y world log hello hello world log hello yivi hello yivi log hello hello引數變數是預設宣告的,因此不能再用let或const再次宣告,也不能...
ES6 函式的拓展 四
一 引數帶預設值函式 1 在函式形參可以賦予函式預設值 即實參嚴格匹配undefined時,在函式內部使用形參時呼叫它的預設值 2 函式name屬性 返回函式名稱,無名的函式返回空字串 3 函式length屬性 從左往右開始計算函式形參直到碰到帶有預設值形參時結束計算,這樣計算的形參個數 eg 普通...