簡介

函數在一個程式語言裡是一個很重要的概念,程式語言通常會提供內建函數,讓我們可以很方便的重複利用過去已經寫好的邏輯。也可以讓程式設計人員自定義函數,讓我們也可以重複利用自己已經開發的邏輯。

函數有幾個部分:名稱、參數、回傳值。以下我們先介紹內建函數,再介紹自訂函數。在javascript裡還有一些進階的使用,例如:函數表達式以及箭頭函數,這些也都是在react常用的功能。

內建函數

Javascript跟其他程式語言,有很多內建函數。例如,在javascript裡,產生一個亂數,可以使用Math.random 。Math.random()會產生一個0~1(不含1)的數字。如果要產生一個0-9的整數,除了使用Math.random()之外,先乘以10,就會產生0~10(不含10)的數字。

let num = **Math.random() * 10**;

再利用Math.floor(),無條件捨去小數點。這樣,就會產生0-9的整數。這就跟在excel裡,函數中可以有函數是一樣的道理。在最內層的函數先執行,所以,先取得亂數,乘以10,最後再取整數。

let num = **Math.floor(**Math.random() * 10**)**;

Javascript有非常多的內建函數,這些函數都會被歸屬於一些Javascript的內建物件,例如:Math。完整的列表請參考:

自訂函數

函數的使用方式就像內建函數一樣,只是,我們要自己定義函數的回傳值或者要處理的程序,function是個關鍵字,代表要定義一個函數,Add,是函數的內容,後面會有()來定義傳給函數的參數,如果沒有參數的話,可以留空白。

function Add(){

}

我們在函數中可以寫我們想要的程式,以這個函數而言,Add收到兩個參數: first及second,利用return關鍵字將兩數加總結果回傳。

function Add(first, second) {
  return first+second;
}

參數也可以給預設值,也就是萬一少了這個參數,就會使用預設值

function Add(first=1, second=1) {
  return first+second;
}

變數範圍