---
# System prepended metadata

title: return
tags: [return]

---

---
title: return
tags: return,
description:
---
return
---
### 為何需要return

- 函式執行==結束==後，函式內的資料就被==清空==。
- 需要把函式執行的==結果回傳==，或是==賦予變數==。
<br>

### return寫法
寫一個函式計算數字加總的值，並回傳。
```javascript=
function addNumber(num1, num2) {
    return num1 + num2;
};

console.log(addNumber(20, 30));    // 回傳50
```
<br>

### return賦予變數
如果今天要把return的值，賦予到變數``totalNumber``，可以這樣寫。
```javascript=6
let totalNumber = addNumber(20, 30);
console.log(totalNumber);    // 50
```
<br>

### return宣告let
在函式裡為了方便計算，會先把計算結果賦予給變數。最後再經由return回傳或賦予變數。
```javascript=
function addNumber(num1, num2) {
    let total = num1 + num2;    // 計算結果先賦予給變數total
    return total;    // 再把變數total return
};

let totalNumber = addNumber(20, 30);
console.log(totalNumber);
```
<br>

### 函式裡的return可以有多個
:::info
**return可以中斷函式的執行**，後面的程式碼就不執行。
:::

**範例：計算成績是否及格**
```javascript=
function checkScore(score){
    if (score >= 60) {
        return '成績及格';    // 回傳'成績及格'中斷後面函式執行
    } else {
        return '成績不及格';    // 回傳'成績不及格'中斷後面函式執行
    }
    // 前面條件達成，回傳結果後就中斷函式執行，
    // 所以這段程式碼都不會執行
    console.log('執行異常'); 
}
console.log(checkScore(64));    //成績及格
console.log(checkScore(34));    //成績不及格
```
<br>




