JavaScript匿名函數(shù)和箭頭函數(shù)的寫法
在JavaScript中,匿名函數(shù)和箭頭函數(shù)是常見的語法形式。它們可以用來定義函數(shù)并執(zhí)行特定的任務(wù)。本文將介紹幾種常見的匿名函數(shù)和箭頭函數(shù)的寫法,并探討它們的一些特點(diǎn)和使用方式。無參數(shù)寫法首先,我們來
在JavaScript中,匿名函數(shù)和箭頭函數(shù)是常見的語法形式。它們可以用來定義函數(shù)并執(zhí)行特定的任務(wù)。本文將介紹幾種常見的匿名函數(shù)和箭頭函數(shù)的寫法,并探討它們的一些特點(diǎn)和使用方式。
無參數(shù)寫法
首先,我們來看無參數(shù)的匿名函數(shù)寫法:
```javascript
function() {
var i 1;
return i 1;
}
```
對應(yīng)的箭頭函數(shù)寫法如下:
```javascript
() > {
var i 1;
return i 1;
}
```
無參數(shù)的匿名函數(shù)可以直接轉(zhuǎn)換為箭頭函數(shù),只需在函數(shù)聲明后添加箭頭(>)即可。
有參數(shù)寫法一(1個參數(shù))
接下來,我們看一下帶有一個參數(shù)的匿名函數(shù)寫法:
```javascript
function(i) {
i i 1;
return i;
}
```
對應(yīng)的箭頭函數(shù)寫法如下:
```javascript
i > {
i i 1;
return i;
}
```
同樣地,帶有一個參數(shù)的匿名函數(shù)也可以直接轉(zhuǎn)換為箭頭函數(shù),只需在參數(shù)前添加箭頭(>)即可。
有參數(shù)寫法二(多個參數(shù))
如果有多個參數(shù),匿名函數(shù)的寫法如下:
```javascript
function(i, j) {
var x i 1;
return x;
}
```
對應(yīng)的箭頭函數(shù)寫法如下:
```javascript
(i, j) > {
var x i 1;
return x;
}
```
同樣地,有多個參數(shù)的匿名函數(shù)也可以轉(zhuǎn)換為箭頭函數(shù),只需在參數(shù)列表外添加箭頭(>)即可。
函數(shù)體只有一條語句
如果函數(shù)體只有一條語句,可以簡化匿名函數(shù)的寫法:
```javascript
function(i) {
return i 1;
}
```
對應(yīng)的箭頭函數(shù)寫法如下:
```javascript
i > i 1;
```
箭頭函數(shù)的特點(diǎn)之一是可以省略return關(guān)鍵字,直接將結(jié)果表達(dá)式寫在箭頭后面。
this指向
對于普通函數(shù)(包括匿名函數(shù)),this關(guān)鍵字指向它的調(diào)用者。如果沒有明確的調(diào)用者,則默認(rèn)指向window對象。
而箭頭函數(shù)本身沒有this關(guān)鍵字,它會自動繼承上下文中與之相鄰最近的有定義this的對象。它首先會在當(dāng)前箭頭函數(shù)的父級作用域中尋找this指向的對象,如果父級作用域仍然是箭頭函數(shù),則繼續(xù)向上查找,直到找到為止。
通過理解匿名函數(shù)和箭頭函數(shù)的寫法以及this指向,我們可以更好地在JavaScript中編寫優(yōu)雅且高效的代碼。