首頁  >  文章  >  web前端  >  javascript有沒有回傳值

javascript有沒有回傳值

青灯夜游
青灯夜游原創
2022-10-14 17:10:102015瀏覽

JavaScript有回傳值,分為兩種:return語句設定的值和「undefined」。在函數體內,使用return語句可以設定函數的回傳值,一旦執行到return語句,就會停止函數的運行,並運算和傳回return後面的表達式的值;如果函數不包含return語句,則執行完函數體內每個語句後,傳回undefined值。

javascript有沒有回傳值

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

JavaScript 函數提供兩個介面實現與外界的交互,其中參數作為入口,接收外界資訊;返回值作為出口,把運算結果回饋給外界。

函數是一個功能集合體,可以實現某些特定的函數或運算。函數運行之後的結果保留在函數內部是沒有任何意義的,所以我們需要將函數的運算結果回傳到呼叫函數的地方。

在函數體內,使用 return 語句可以設定函數的回傳值;return 語句通常在函數的末端定義。語法格式:

return 返回值;

其中,「傳回值」為可選參數,可以是一個具體的值或表達式,也可以為空。 「回傳值」與 return 關鍵字之間需要使用空格分隔。

JavaScript 是一種弱型別語言,所以函數對接收和輸出的值都沒有型別限制,JavaScript 也不會自動偵測輸入和輸出值的型別。因此,傳回值(表達式結果)可以是任何類型,例如陣列、物件、字串等。

  • 對於有傳回值的函數,我們可以會使用一個變數來接收這個函數的回傳值,範例程式碼如下:

//声明一个带返回值的函数
function getSum(num1, num2){
        //函数体
    return num1 + num2;
}
//可以通过变量来接收这个返回值
var sum1 = getSum(7, 12);      // 函数返回值为:19
var sum2 = getSum(-5, 33);     // 函数返回值为:28

javascript有沒有回傳值

  • 如果函數不包含return 語句,則執行完函數體內每個語句後,傳回undefined 值。

javascript有沒有回傳值

  • 在函數中,一旦執行完成「return」語句,那麼整個函數就結束了,後續語句將不再執行;然後運算和傳回return 後面的表達式的值。

javascript有沒有回傳值

  • 「return」之後的值只能有一個。如果嘗試傳回多個值,那麼得到的結果總是最後一個值javascript有沒有回傳值

    如果要傳回多個值的話,就需要在函數中定義一個數組,將傳回值儲存在數組中傳回。

function division(dividend, divisor){
    var quotient = dividend / divisor;
    var arr = [dividend, divisor, quotient]
    return arr;
}
var res = division(100, 4)
console.log(res[0]);         // 输出:100
console.log(res[1]);         // 输出:4
console.log(res[2]);         // 输出:25

在上面程式碼中,函數傳回值為數組,該數組包含 3 個元素,從而實現使用一個 return 語句,傳回多個值得目的。

javascript有沒有回傳值

  • 在函數體內可以包含多個條return 語句,但只能執行一條return 語句,因此在函數體內可以使用分支結構決定函數傳回值,或使用return 語句提前終止函數運行。

function f(x,y) {
    //如果参数为非数字类型,则终止函数执行
    if (typeof x != "number" || typeof y != "number") return;
    //根据条件返回值
    if (x > y) return x - y;
    if (x < y) return y - x;
    if (x * y <= 0) return x + y;
}
console.log(f(1,6));
console.log(f(4,2));
console.log(f(0,0));

javascript有沒有回傳值

【相關推薦:javascript學習教學

#

以上是javascript有沒有回傳值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn