ES6特性 箭頭函式

2021-09-12 11:20:46 字數 1218 閱讀 3393

es6允許使用"箭頭"(=>)定義函式。

基本語法:引數=>函式體

var f = v => v;    //等價於

var f = function(v);

如果箭頭函式不需要引數或需要多個引數,需要使用()括起來

var f = () => 1;  //等價於

var f = function () ;

var sum = (a,b) => a+b; //等價於

var sum = function (a,b) ;

當箭頭函式的函式體有多行語句,需要用{}括起來,表示**塊,並且用return來返回值;只有一行一條語句時可以忽略{},結果會自動返回。

var sum = (a,b) =>
當箭頭函式要返回物件的時候,為了區分於**塊,要用()將物件括起來,否則會報錯

let func = (a,b) => ;    // func(1,2)  報錯

let func = (a,b) => (); // func(1,2)

注意:

(1)箭頭函式內的this物件,就是定義時所在的物件,而不是使用時所在的物件

function func())

}var a=10;

func(); // 10 此時this指向window

func.call(); // 20 呼叫func物件的方法

// settimeout的引數是乙個箭頭函式,該函式的定義生效是在func函式生成時,箭頭函式的this總是指向函式

// 定義生效時所在的物件,即,所以輸出20

(2)不可以作為建構函式,也就是不能使用new命令,否則報錯

(3)不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以使用rest引數代替

rest引數(形式為...變數名),用於獲取函式的多餘引數,這樣就不需要arguments物件了。rest引數搭配的變數是乙個陣列,該變數將多餘的引數放入陣列中

function add(...nums)

return sum;

}add(1,2,3); // 6

(4)不可以使用yield命令,因此箭頭函式不能用作generator函式

es6箭頭函式

本例是在了解es6知識後在原來定義函式的基礎上進行理解var searchvalue 查詢匹配物件 var button var input var select button if searchvalue.input undefined button.click else 重新整理 tableli...

es6 箭頭函式

1.單引數 function cheng a 3 let cheng a 3 a a console.log cheng 9 2.多引數 function add a,b let add a,b a b 預設返回值 console.log add 3,9 3.無返回值 function add a,...

ES6 箭頭函式

es6 中,箭頭函式就是函式的一種簡寫形式,使用括號包裹數,跟隨乙個 緊接著是函式體 var getprice function 箭頭函式 var getprice 9.15 箭頭函式不僅僅是讓 變得簡潔,函式中 this 總是繫結總shi 指向物件自身 function person 1000 使...