iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
自我挑戰組

30天JavaScript自學挑戰系列 第 16

Day 16 Function Declaration v.s. Expression

  • 分享至 

  • xImage
  •  

在JavaScript中,我們可以用不同的方式來撰寫函數。

Function declaration是用function這個關鍵字來宣告這個函數,就像我們宣告變數一樣。

function calcAge(birthYear) {
	return 2022 - birthYear;
} 

const age = calcAge(2000);
console.log(age);
// 22

而Function expression的撰寫方式並沒有function name,所以它也叫作匿名函數,基本上它就是一個表達式,表達式會產生一個值,然後將值賦予一個變數,這個變數就是函數。
呼叫的方法是一樣的:

const calcAge = function (birthYear) {
	return 2022 - birthYear;
}

const age = calcAge(2000);
console.log(age);
// 22

Function declaration和expression之間最大的區別在於,我們可以在function declaration被定義之前就呼叫它,但function expression不行,這是因為變數提升(hoisting)的緣故,至於我們到底要用哪種方式撰寫函數,其實大部分是取決於個人偏好了。


上一篇
Day 15 函數(Function)
下一篇
Day 17 陣列 - 1
系列文
30天JavaScript自學挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言