當我們在寫程式碼時,會遇到需要重複執行的部分,如果我們每次遇到都複製相同的代碼,整個維護以及可讀性上就會變得很差,所以我們就需要Javascript函數! 有了函數以後,只要在需要時取用他,就可以解決以上的問題,把需要處理的事件清清楚楚地分成每一個部分,是一個專業工程師必須的技能。
function 函數名稱(參數){
要做的事情
}
我們用中文拆分來看的話,函數寫法就是那麼的簡單!而我們舉例換成一個相乘的函數。
function multiply(x, y) {
return x * y;
}
multiply(3, 2); //6
這個時候會有個疑問,那為甚麼會有return,是甚麼意思呢?
當我們要做的事情在函數裡遇到return時,函數會計算出返回的內容(值),並停止執行函數,跳出來將返回值回傳給調用的地方。可以想像有點像break,但同時將值返回。
function multiply(x, y) {
return x * y;
}
const result = multiply(3, 2);
console.log(result) //結果為6儲存至result
當我們寫到函數時,一定會碰到變數作用域的問題,在函數內的變數外面是取不到的,而宣告在函數外的變數函數內取的嗎?我們來看下面的範例。
var name = "jason";
console.log(color); //函數外取值取不到,因為函數內是局部作用域
function x() {
var color = "blue";
console.log(name); //可宣告在外面的變數,函數內取的到值。
}
最後我們來看一個生活上實際的例子,將華氏溫度轉為攝氏溫度,當我們寫好函數,只需要輸入溫度,按下按鈕時調用函數,邏輯十分清楚!
<input id="input" type="text" />
<div id="demo">現在的攝氏溫度為<span id="result"></span>度</div>
<button type="button" onclick="btn()">轉換</button>
<script>
function temperature(a) {
return (5 / 9) * (a - 32);
}
//按下按鈕時取input的值,接著調用temperature()函數,將結果顯示在html模板上
function btn() {
var a = document.getElementById("input").value;
const result = temperature(a);
document.getElementById("result").innerHTML = result.toFixed(3);
}
</script>
那今天的Javascript就到這裡了,明天將介紹Js事件,像上面的onclick!