※ 函式基礎介紹:
※ JavaScript 特殊的函式特性:
- 函式可以當成值來傳遞 (可以放進變數或放進物件)
- 函式可以當成函式的參數
- callback - 在特定事件中觸發函式 (非同步特性)
※ 函式的基本寫法:

※ 調用 (invoke) 函式:
"調用" 意指呼叫或執行函式的動作,在程式設計中,當你希望執行一個函式時,就需要使用()來調用 函式。
形式如下:subtotal(3, 8)
說明:
使用 subtotal(3, 8)
調用函式時,3, 8
被稱為「引數 (argument)」。引數 3, 8
會為 price, quantity
等參數賦值。

※ 括號的意義:執行函式與代入參數
- 執行函式時不一定需要傳入參數,但即使沒有參數,在呼叫函式時,還是不能省略括號。
//()不一定需要傳入參數
function greeting() {
console.log('Hi!')
}
greeting() //調用 (invoke) 函式

- 代入參數
//()傳入參數
function multiply( x, y ) {
return x * y
}
const a = multiply(10, 3)
console.log(a)

※ 函式範例:數字的各種運算
條件:
- 平方
- 確認是否是2的倍數
- 確認是否是3的倍數
- 半徑是數字時,圓面積?圓體積?
//調用 平方 函數
const square = function (n) {
return n * n
}
//算出2的餘數
const is2multiple = function (n) {
return n % 2 === 0
}
//算出3的餘數
const is3multiple = function (n) {
return n % 3 === 0
}
//調用pi函數
const pi = 3.14
const circlearea = function (n) {
return pi * square(n)
}
//調用立方函數
const triple = function(n) {
return n * n * n
}
//調用球體積函數
const ballvolum = function(n) {
return 4/3 * pi * triple(n)
}
//計算平方
const numberDisplay = function (n) {
console.log(`${n}的平方: ${square(n)}`)
//條件判斷是否是2的倍數
if (is2multiple(n)) console.log(`${n}是2的倍數` )
else console.log(`${n}不是2的倍數` )
//條件判斷是否是3的倍數
if (is3multiple(n)) console.log(`${n}是3的倍數` )
else console.log(`${n}不是3的倍數` )
//計算圓面積
console.log(`半徑為${n}時,圓面積是${circlearea(n)}`)
//計算圓體積
console.log(`半徑為${n}時,圓體積是${ballvolum(n)}`)
}
//調用 (invoke) 函式結果
numberDisplay(5)
numberDisplay(24)
