iT邦幫忙

2024 iThome 鐵人賽

DAY 11
1
JavaScript

從零開始學習JavaScript 30天系列 第 11

[Day 11] JavaScript 函式基礎(function)

  • 分享至 

  • xImage
  •  

更新2024.08.19
Hi,大家好,我是Tony,是一個對於程式設計有一點點概念的新手。

學習挑戰的第11天~
今天的學習內容是:JavaScript 函式基礎

學習內容來自
彭彭老師JavaScript 函式基礎
https://www.youtube.com/watch?v=Zm6VjKbVGKQ&list=PL-g0fdC5RMbqW54tWQPIVbhyl_Ky6a2VI&index=18

昨天的學習內容:[Day 10] JavaScript 流程控制:迴圈指令
https://ithelp.ithome.com.tw/articles/10344899/

1. 什麼函式

函式 就是指 包裝好的程式區塊
主要分成兩個流程:

  • 建立函式
  • 呼叫函式
    一定要先把函式建立好才能呼叫函式。

2. 建立函式

建立函式的基本語法:

<script>
    function 函式名稱(參數名稱列表){
            函式內部的程式區塊
    }
    
    function test(){
        console.log("Hello");
    }
</script>

另一種函式的與語法寫法:
用宣告變數的樣子去寫函式

<script>
    let 函式名稱=function(參數名稱列表){
            函式內部的程式區塊
    }
    
    let test=function(msg){
        console.log(msg);
    }
</script>

在函式內部的程式(在大括號裡的程式)在第一個寫完的時間時間點是不會執行的。
需要等到呼叫函式後才會執行。

3. 呼叫函式

呼叫函式的基本語法:
就是將之前建立函式的函式名稱與參數資料列表寫出來。

<script>
    函式名稱(參數名稱列表);
    test();
</script>

只要我們有呼叫函數的動作,程式碼就會跳入函式裡面,
去執行函式內部的程式,執行完畢後再跳回來。

4. 參數

參數是寫在函式小括號中,有點像變數名稱,
但這個參數名稱只能使用在此函式大括號內部。
可以在每次呼叫函式時都放入不同參數,讓函式得到的結果變的不同。
參數可以讓函式的彈性更高。


練習

  • 練習1:無參數的範例

在函式中的參數沒有寫的情況

  <script>
      function test(){
          console.log("Hello");
      }
      test();
  </script>     

網頁結果1
https://ithelp.ithome.com.tw/upload/images/20240819/20168410XQPrSHKzic.jpg


  • 練習2:單一參數的範例,印出任意資料
  <script>
      function show(message){
          console.log(message);
      }
      show();
      show("Hello");
      show(10);
  </script>     

網頁結果2
https://ithelp.ithome.com.tw/upload/images/20240819/20168410uQkms2QfsC.jpg
跑出來的第一個結果,因為沒有填數參數,所以結果是undefined


  • 練習3:多個參數的範例,做數學運算
  <script>
      function divide(n1,n2){
          let result=n1/n2;
          console.log(result);
      }
      divide(3,4);
      divide(10,5);
      divide("Hello","world");
  </script>     

網頁結果3
https://ithelp.ithome.com.tw/upload/images/20240819/20168410Um7lHCuNgl.jpg
在第三項結果中顯示的NaN,意思是Not a Number。
表示參數裡計算沒有意義。


  • 練習4:另一個寫法,多個參數,做數學運算
  <script>
      let divide=function(n1,n2){
          let result=n1/n2;
          console.log(result);
      }
      divide(3,4);
      divide(10,5);
      divide("Hello","world");
  </script>     

網頁結果4
https://ithelp.ithome.com.tw/upload/images/20240819/20168410AnusQ4JA8w.jpg
因為呼叫函式的內容與練習3完全一樣,
另一個寫法也能顯示出一樣的結果。

今天的學習先到這裡,
終於把練習的部分都補上了~耶!
謝謝大家我們明天見。


上一篇
[Day 10] JavaScript 流程控制:迴圈指令
下一篇
[Day 12] JavaScript 函式回傳值
系列文
從零開始學習JavaScript 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言