自訂函數

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

function Add(){

}

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

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

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

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

變數範圍

如果是這樣,count的內容會是?

function Inc() {
  let count = 0;   
  count++;
}

改成這樣,count的內容會是?

**let count = 0;** //這是全域變數
function Inc() {
  count++;
}

第一個Inc每次呼叫時,count都會重新設定為0,第二個Inc每次呼叫時,都會取目前的count的值,再把值加一。

<aside> 💡 在javascript裡,可以利用「//」或「/* /」寫備註,差別是「//」的備註只有一行,「/ */」的備註可以是多行。

</aside>

<aside> 🚧 以下內容尚未修改

</aside>

前面是以數學題為範例,可以利用亂數來產生題目,如果我們要出其他科目的題目,例如,要讓學生練習化學元素表,那要怎麼處理? 如果我們有三個題目,我們可以寫成:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Array</title>
  </head>
  <body></body>
  <script>
    let answer = prompt("氫的化學符號");
    if (answer == "H") {
      alert("正確");
    } else {
      alert("錯誤");
    }
    answer = prompt("氧的化學符號");
    if (answer == "O") {
      alert("正確");
    } else {
      alert("錯誤");
    }
    answer = prompt("氦的化學符號");
    if (answer == "He") {
      alert("正確");
    } else {
      alert("錯誤");
    }
  </script>
</html>