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