(引數1, 引數2, …, 引數n) =>(引數1, 引數2, …, 引數n) =>表示式(單一)
//相當於:(引數1, 引數2, …, 引數n) =>
//當只有乙個引數時,圓括號是可選的:
(單一引數) =>
單一引數 =>
//沒有引數的函式應該寫成一對圓括號。
() =>
//加括號的函式體返回物件字面表示式:
引數=>()
//支援剩餘引數和預設引數
(引數1, 引數2, ...rest) =>
(引數1 = 預設值1,引數2, …, 引數n = 預設值n) =>
//同樣支援引數列表解構
let f = ([a, b] = [1, 2], = ) => a + b +c;
f(); //6
1. 具有乙個引數的簡單函式
var single = a =>asingle('hello, world') //
'hello, world'
2. 沒有引數的需要用在箭頭前加上小括號
var log = () =>
3. 多個引數需要用到小括號,引數間逗號間隔,例如兩個數字相加
var add = (a, b) => a +badd(3, 8) //
11
4. 函式體多條語句需要用到大括號
var add = (a, b) =>else
}
5. 返回物件時需要用小括號包起來,因為大括號被占用解釋為**塊了
var gethash = arr =>)}
6. 直接作為事件handler
document.addeventlistener('click', ev =>)
7. 作為陣列排序**
var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) =>else
})arr
//[1, 2, 3, 4, 8, 9]
1. typeof運算子和普通的function一樣
var func = a =>aconsole.log(
typeof func); //
"function"
2. instanceof也返回true,表明也是function的例項
console.log(func instanceof function); //true
3. this固定,不再善變
obj =//非箭頭函式
= function(ev) }}
obj.init()
4. 箭頭函式不能用new
var person = (name, age) =>var p = new person('john', 33) //
error
5. 不能使用argument
var func = () =>func(55) //
uncaught referenceerror: arguments is not defined
mdn箭頭函式
es6箭頭函式(arrow functions)
js es6中的箭頭函式(arrow functions)使用
js箭頭函式
let func1 console.log func1 箭頭函式 入參為乙個時候可以省略括號 出值為乙個的時候可以省略 letfu2 x x x 函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。this物件的指向是可變的,但是在箭頭函式中,它是固定的。var id 21 fun...
js箭頭函式
箭頭函式表示式的語法比函式表示式更簡潔,並且沒有自己的this,arguments,super或new.target。箭頭函式表示式更適用於那些本來需要匿名函式的地方,並且它不能用作建構函式。1 基礎語法 param1,param2,paramn param1,param2,paramn expre...
js 箭頭函式
箭頭函式的使用,我們在做vue或者angular專案的時候,定義的函式,很多時候會有作用域的問題,特別是在進行非同步請求的時候,就必須使用到箭頭函式 最簡單的箭頭函式 function change res 相當於 function change res 非同步請求使用箭頭函式 this.axios...