頻道欄目
首頁 > 資訊 > JS 函數 > 正文

JavaScript 函數參數

16-01-25        來源:[db:作者]  
收藏   我要投稿
JavaScript 函數對參數的值(arguments)沒有進行任何的檢查。

函數顯式參數與隱藏參數(arguments)

在先前的教程中,我們已經學習了函數的顯式參數:

functionName(parameter1, parameter2, parameter3) {
    code to be executed
}

函數顯式參數在函數定義時列出。

函數隱藏參數(arguments)在函數調用時傳遞給函數真正的值。


參數規則

JavaScript 函數定義時參數沒有指定數據類型。

JavaScript 函數對隱藏參數(arguments)沒有進行檢測。

JavaScript 函數對隱藏參數(arguments)的個數沒有進行檢測。


默認參數

如果函數在調用時缺少參數,參數會默認設置為: undefined

有時這是可以接受的,但是建議最好為參數設置一個默認值:

實例

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    } 
}

或者,更簡單的方式:

實例

function myFunction(x, y) {
    y = y || 0;
}

 

Note 如果y已經定義 , y || 返回 y, 因為 y 是 true, 否則返回 0, 因為 undefined 為 false。

如果函數調用時設置了過多的參數,參數將無法被引用,因為無法找到對應的參數名。 只能使用 arguments 對象來調用。


Arguments 對象

JavaScript 函數有個內置的對象 arguments 對象.

argument 對象包含了函數調用的參數數組。

通過這種方式你可以很方便的找到最后一個參數的值:

實例

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {
    var i, max = 0;
    for (i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

或者創建一個函數用來統計所有數值的和:

實例

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}


通過值傳遞參數

在函數中調用的參數是函數的參數。

如果函數修改參數的值,將不會修改參數的初始值(在函數外定義)。

函數參數的改變不會影響函數外部的變量(局部變量)。


通過對象傳遞參數

在JavaScript中,可以引用對象的值。

因此我們在函數內部修改對象的屬性就會修改其初始的值。

修改對象屬性可作用于函數外部(全局變量)。

相關TAG標簽
上一篇:臺積電:絕大多數7nm客戶都會轉向6nm_IT新聞_博客園
下一篇:最后一頁
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片