JavaScript函數中的參數(arguments)


arguments

 argument是JavaScript中的一個關鍵字,用於指向調用者傳入的所有參數。

function example(x){
    alert(x); //1
    alert(arguments.length); //3
    for(var i=0; i<arguments.length; i++){
        alert(arguments[i]);  //1,2,3   
    }      
}
example(1,2,3);

 即使不定義參數,也可以取到調用者的參數。

function abs() {
    if (arguments.length === 0) {
        return 0;
    }
    var x = arguments[0];
    return x >= 0 ? x : -x;
}

abs(); // 0
abs(10); // 10
abs(-9); // 9

REST

 由於JavaScript函數允許接收任意個參數,所以不得不用arguments來獲取函數定義a以外的參數。

function exm(a) {
    var rest = [];
    if (arguments.length > 1) {
        for (var i = 1; i<arguments.length; i++) {
            rest.push(arguments[i]);
        }
    }
}

 其實ES6給了新的rest參數,用在函數最后,多余的參數以數組的形式交給變量rest,如果傳入的參數未填滿函數定義的參數,rest會是一個空數組。

function exm(a, b, ...rest) {
    console.log('a = ' + a);
    console.log('b = ' + b);
    console.log(rest);
}

exm(1, 2, 3, 4, 5);
// 結果:
// a = 1
// b = 2
// Array [ 3, 4, 5 ]

exm(1);
// 結果:
// a = 1
// b = undefined
// Array []

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM