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 使...