---
# System prepended metadata

title: Javascript(函式)
tags: [javascript, function]

---

# Javascript(函式)
###### tags: `javascript` `function`

所謂的函式，就是彙整經常執行的處理動作而成的小型副程式(主要程式內含的迷你程式)，需要執行相同的動作時，只要呼叫函式即可，不用重複撰寫相同的程式碼，也有人稱「函數」。

**語法:**呼叫函式---
函式名稱(需要傳遞的参數)
```javascript=
var 函式名稱 = function(需要傳遞的参數){
    具體的處理程式碼
}

var total = function(price){
	var tax = 0.08;
	return price + price * tax;
}
				
console.log('咖啡機的價格為' + total(8000) + '元(含稅)。')
```



## 輸出至HTML
```htmlmixed=
<section>
    <p id = "output"></p>
</section>
```
```htmlmixed=
<script>
    var total = function(price){
		var tax = 0.08;
		return price + price * tax;
	}
				
	var price = parseInt(window.prompt("input price: "));
	console.log('咖啡機的價格為' + total(price) + '元(含稅)。')
	document.getElementById('output').textContent = ('咖啡機的價格為' + total(price) + '元(含稅)。')
</script>
```

## 撰寫函式的優點
1. 優點1:想呼叫使用時，妹有位置與次數的限制。
2. 優點2:只須改變参數，便能對其他資料做加工處理

## FizzBuzz 遊戲
FizzBuzz 遊戲，是幾個人一起玩的遊戲，每個人依序念出「1」「2」..數字，當
遇到可已被3整除時，需要喊出「Fizz!」，遇到被5整除就要喊出「Buzz!」，而能
被「3」「5」整除的數字就喊出「FizzBuzz!」。
以下將以1到30的數字進行FizzBuzz 遊戲。

1. 如果可以同時被「3」「5」整除，回傳FizzBuzz!。
2. 除此之外，若能被「3」整除，回傳Fizz。
3. 除此之外，若能被「5」整除，回傳Fizz。
4. 除此之外(無法被「3」「5」整除)，則直接數值回傳。
```javascript=
var fizzbuzz = function(num){
	if(num%3 === 0&& num%5 === 0){
		return 'FizzBuzz';
	}else if(num%3 === 0){
		return 'Fizz';
	}else if(num%5 === 0){
		return 'Buzz';
	}else{
		return(num)
	}	
}
				
var x = window.prompt("Please enter your number: ")

for(var i=1;i<=x;i++){
	console.log(fizzbuzz(i));
}
```