javascript - 如何将所有可变数量的参数传递给接受可变数量参数的另一个函数?

标签 javascript variadic-functions

例如,一个接受变量 # of 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);

最佳答案

使用Function.apply :

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

关于javascript - 如何将所有可变数量的参数传递给接受可变数量参数的另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20940658/

相关文章:

list - Groovy 从 List 转换为 var args 以进行方法调用

javascript - JQuery SumoSelect - 页面上具有不同宽度的多个实例

javascript - Highcharts,如何更改具有多列(类别)的系列的悬停背景颜色

javascript - .remove() 在 IE 和 Firefox 中不起作用

c - 具有 `fcn( char *, ...)` 的可变参数函数如何知道何时结束?

计算 C 变量参数方法调用中的参数个数

javascript - 是否有一种 DRY 方法可以在 Turbolinks :load? 上调用多个 function()

javascript - jQuery Flot : 24 hour axis

objective-c - 将 NSArray 内容转换为可变参数(使用 ARC)以与 NSString initWithFormat 一起使用

types - 在 Julia 中键入 kwargs