簡體   English   中英

函數中可變數量的參數

[英]Variable number of arguments in a function

是否有可能根據傳遞的參數數量告訴函數它應該給它的參數賦予什么名稱? 像這樣:

function soSwag(swagLevel, swagStart, swagDuration || swagStart, swagStop){}

據我所知。 但是,您只需傳入包含所需數據的對象即可。

soSwag({
    swagStart: 10,
    swagStop: 100
});

但是,將null傳遞給第一個參數可能更簡潔。

支持變量類型的參數的一些流行的庫(例如jQuery)做的是它們檢查參數然后相應地交換值:

function soSwag(swagLevel, swagStart, swagDuration) {
    if (arguments.length === 2) {
        var swagStop = swagStart;   // 2nd arg becomes swagStop
        swagStart = swagLevel;      // first arg becomes swagStart

        // code here that uses swagStart and swagStop
        // as called like soSwag(swagStart, swagStop)

    } else {

        // code here that uses swagLevel, swagStart, swagDuration
        // as called like soSwag(swagLevel, swagStart, swagDuration)

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM