1. 程式人生 > 其它 >JavaScript函式篇之ES6箭頭函式與匿名函式

JavaScript函式篇之ES6箭頭函式與匿名函式

我的部落格

匿名函式

 setTimeout(function() {  
     console.log("This message is shown after 3 seconds");
 }, 3000);

看這樣一段程式碼,我們平常定義一個函式,至少會給他一個函式名。但是,我們這裡的function()沒有名字。

這也行???

當然可以,我們稱這種函式為匿名函式,顧名思義,沒有名字。

箭頭函式

ES6版本中,JavaScript加入了一個新的函式,箭頭函式。

箭頭函式是 JavaScript 裡的一種新的函式形式。

數如其名哈!真就有一個箭頭。

 //普通函式
 function add(x, y) {
     return x + y;
 }
 //箭頭函式
 var add = (x, y) => {
     return x + y;
 }
 //箭頭函式簡寫
 var add = (x, y) => x + y;

其實,他出現的目的是為了簡化我們的程式碼。

如果函式只有一個語句,並且該語句返回一個值,則可以去掉括號和 return 關鍵字(即第三局句程式碼)。

事實上,如果只有一個引數,您也可以略過括號(有興趣自行嘗試)。

箭頭函式的this

與常規函式相比,箭頭函式對 this 的處理也有所不同。

簡而言之,使用箭頭函式沒有對 this 的繫結。

在常規函式中,關鍵字 this 表示呼叫該函式的物件,可以是視窗、文件、按鈕或其他任何東西。

對於箭頭函式,this 關鍵字始終表示定義箭頭函式的物件。