如何将所有可变数量的args传递给接受可变数量的args的ANOTHER函数?

时间:2014-01-05 23:36:29

标签: javascript variadic-functions

接受变量#ofgs的一个函数需要将整个args集传递给另一个函数,该函数也接受变量#of args,例如(以下不起作用):

debugConsole : function(msg) {
    if(this.isDebugOn()) {
        console.log(arguments); // does not work, prints "[object Arguments]"
    }
}

我需要这个,所以console.log()的字符串替换功能可以工作,即

var myObject = {name: "John Doe", id: 1234};

// should print "obj = [object Object]"
this.debugConsole("myObject = %o", myObject); 
// should print "name: John Doe, ID: 1234"
this.debugConsole("name: %s, ID: %i", myObject.name, myObject.id);

1 个答案:

答案 0 :(得分:2)

使用Function.apply

debugConsole : function(msg) {
    if(this.isDebugOn()) {
        console.log.apply(console, arguments);
    }
}