匿名函式賦值給乙個變數,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...