ES6 函式的擴充套件

2021-09-26 03:26:31 字數 1360 閱讀 9286

1、函式引數預設值【詳情例子參照esmascript 6入門 (阮一峰)】

2、函式的length屬性

3、rest引數【...變數名】,用於獲取函式的多餘引數

注意:rest 引數之後不能再有其他引數(即只能是最後乙個引數),否則會報錯。

函式的length屬性,不包括 rest 引數。

求和

function add(...values) 

return sum;

}add(2, 5, 3) // 10

利用rest引數改寫陣列push方法

function push(array, ...items) );

}var a = ;

push(a, 1, 2, 3)

4、箭頭函式

var f = () => 5;/

// 等同於 var f = function () ;

//有引數

var sum = (num1, num2) =>

例項:

// 正常函式寫法

[1,2,3].map(function (x) );

// 箭頭函式寫法

[1,2,3].map(x => x * x);

5、尾遞迴【函式呼叫自身,稱為遞迴。如果尾呼叫自身,就稱為尾遞迴】

只需要知道迴圈可以用遞迴代替,而一旦使用遞迴,就最好使用尾遞迴。

//舊的

function factorial(n)

factorial(5) // 120

//尾遞迴

function factorial(n, total)

factorial(5, 1) // 120

尾遞迴優化

/* 普通 */

function sum(x, y) else

}sum(1, 10)

//11

/* 尾遞迴優化 */

function trampoline(f)

return f;

}function sum(x, y) else

}trampoline(sum(1, 100000))

//100001

以上es6均參考esmascript 6入門 (阮一峰),僅僅當作自己的筆記而已。

ES6 函式擴充套件

函式在js裡是相當重要的一部分了,es6裡也新增了一些函式方法,來看一下 test hello hello world test hello kill hello kill es6增加了函式引數預設值,可以直接在宣告引數的同時賦預設值,但是也可以後面重新賦值 test2 kill 括號內有引數x時,...

ES6函式擴充套件

函式引數的預設值 在es5中,我們想給函式乙個預設值,需要這樣寫 function add x,y 在es6中 可以這樣寫 function add x,y ss add dd ddss add ss dd ssdd add dd dd我們只需要在引數上直接寫上我們想要的預設值就好了。當我們給函式乙...

ES6函式擴充套件

function fun a,b world fun hello 輸出helloworld let a aa function fun a,b a fun bb function fun arg fun 1,2,3,4,1 語法 param param 對應函式 function 沒有引數 乙個引數...