将未知数量的参数传递给JS函数

这个问题在这里已经有了答案:

  • 通话和申请有什么区别? 19个答案

  • 你想要的可能是Function.prototype.apply()

    用法:

    var params = [param1, param2, param3];
    functiona.apply(this, params);
    

    正如其他人所指出的, functiona声明可以使用arguments ,例如:

    function functiona()
    {
        var param1 = this.arguments[0];
        var param2 = this.arguments[1];
    }
    

    但它也可以使用任意数量的正常参数:

    function foo(x, y)
    {
        console.log(x);
    }
    foo.apply(this, [10, 0, null]); // outputs 10
    

    使用arguments

    arguments对象是与传递给函数的参数对应的类Array对象。


    是的,所有传递给JavaScript函数的parameters都可以使用函数中的parameters数组访问。

    function foo () {
        console.log(arguments[0]); // -> bar
        console.log(arguments[1]); // -> baz
    }
    
    foo('bar', 'baz');
    
    链接地址: http://www.djcxy.com/p/18035.html

    上一篇: Pass unknown number of parameters to JS function

    下一篇: Javascript Funky array mishap