鍍金池/ 問(wèn)答/HTML/ js 傳遞多個(gè)不定個(gè)數(shù)的參數(shù)應(yīng)該怎么寫(xiě)

js 傳遞多個(gè)不定個(gè)數(shù)的參數(shù)應(yīng)該怎么寫(xiě)

想自定義個(gè)log 函數(shù),不僅在控制臺(tái)輸出,也在文本框中輸出

log(obj)=>{
    console.log(obj)
}

但是console.log()是可以傳遞N個(gè)參數(shù)的,比如console.log(a,b,c,d,e,f.....),
而我自定義的log,應(yīng)該怎么寫(xiě)?log(a,b,c,d,e)=>{}好像不應(yīng)該這樣,
我隱約記得有些源碼好像會(huì)這么寫(xiě)log(arg...)=>{},然后我去百度具體的方法,但是都百度不到,所以來(lái)這里請(qǐng)教大神,應(yīng)該怎么寫(xiě)這個(gè)不定個(gè)數(shù)的參數(shù)?

回答
編輯回答
嘟尛嘴

不知道是不是這個(gè)。

    function test(...a){
        console.log(a,...a);
        if(a[0]){ // 是否存在第一個(gè)參數(shù)
           // do something
        }
         if(a[1]){ // 是否存在第二個(gè)參數(shù)
           // do something
        }
        ....
    }
    test(1,2,3) 
2017年9月20日 05:38
編輯回答
涼汐

在es6前,一般用arguments作為不定數(shù)參數(shù)傳輸?shù)膮?shù)獲取途徑,比如

function abc(){
    var len=arguments.length;
    for(var i=0;i<len;i++){
        console.log("調(diào)用參數(shù)"+i+"是:"+arguments[i]+"\n");
    }
}

abc("a","b");

在es6中
可以用...來(lái)命名不定數(shù)參數(shù)名,這樣比之前版本比可以其一個(gè)更有意義的參數(shù)名,需要注意的是不定參數(shù)只能是最后一個(gè)參數(shù),且一個(gè)函數(shù)定義中只能有一個(gè)不定參數(shù)
例如:

function abc1(...vars){
    let len = vars.length;
    for(let i=0;i<len;i++){
        console.log("調(diào)用參數(shù)"+i+"是:"+vars[i]+"\n");
    }
}

function abc3(name,...vars){
    let len = vars.length;
    for(let i=0;i<len;i++){
        console.log("name是"+name+"調(diào)用參數(shù)"+i+"是:"+vars[i]+"\n");
    }
}
2018年3月8日 21:32
編輯回答
荒城

所有實(shí)參數(shù)組,arguments

2017年1月17日 18:11
編輯回答
九年囚

是要找arguments或者function (a, ...args){};

2017年6月4日 08:36