ES6學習筆記(十一)之函式的擴充套件3

2021-10-24 11:43:38 字數 1100 閱讀 1975

匿名函式賦值給乙個變數,es5中的name屬性返回空字串,而es6中的name屬性返回實際的函式名(即賦值的變數名)。

//es6匿名

leta

=function()

;console.

log(a.name)

;// a

具名函式無論有沒有賦值給乙個變數,name屬性返回的是具名函式的名稱。

letb=

function

btest()

;console.

log(b.name)

;// btest

function建構函式返回的函式例項的name屬性返回的值為anonymous。

console.

log(

(new

function()

).name)

;//anonymous

bind返回的函式的name屬性返回的值前面都會加上「 bound」字首。

leta=

function()

;console.

log(a.

bind()

.name)

;//bound a

用法:使用 " => "

//箭頭函式

settimeout((

)=>);

//普通函式

settimeout

(function()

);

好處:

let arr =[1

,2,3

];let sum =0;

arr.

map(v => sum += v)

;console.

log(sum)

;//6

注意事項

箭頭函式體內的this物件就是定義箭頭函式時所在的物件。

不可用arguments物件(不存在箭頭函式體內),可用rest引數代替。

箭頭函式不能用作generator函式,不可使用yield命令。

ES6學習筆記(函式擴充套件)

1.預設引數function people people 輸出 3 30 people 輸出 undefined 302.擴充套件運算子 剩餘引數 在es6之前,如果要在方法內將多字符集成為乙個陣列,一般會使用以下寫法 function sum sum 1,2,123,qwer es6之後,使用運算...

es6之函式擴充套件

預設值 let defaulta x,y 5,c x y c console.log defaulta 1,2,3 6console.log defaulta 1,2 nan let defaulta x,y,c 4 x y c console.log defaulta 1,2 7 有預設值的作用域...

ES6學習筆記九 函式的擴充套件

一 函式引數的預設值function log x,y world log hello hello world log hello hello注意 引數是預設宣告的,所以在函式體內不能用let或const再次宣告 function foo x 5 注意 使用引數預設值時,函式不能有同名引數 funct...