在JavaScript中,你可以使用Args吗?

时间:2013-08-27 21:24:18

标签: javascript

Apply需要两个参数,一个上下文,第二个参数是一个参数数组。但是,在JavaScript中,args不是一个数组,而是“一个类似数组的对象”。因此,考虑到它不是真正的数组,以下代码有效:

function firstFunc(){
    secondFunc.apply(someContext,arguments);
}

或者我需要通过这个仪式:

function firstFunc(){
    var realArray=array.prototype.slice(arguments);
    secondFunc.apply(someContext,realArray);
}

2 个答案:

答案 0 :(得分:5)

我假设你的意思是arguments而不是args。第一个版本很好。 MDN非常清楚herehere

  

您还可以使用argsArray参数的参数。

argsArray可以是像对象一样的数组。

请注意,在ES5之前,参数是规则的一个例外,您无法使用apply与其他类似Array的对象。在现代Javascript引擎中,您可以使用任何类似数组的对象。

答案 1 :(得分:2)

您可以将applyarguments一起使用,而无需致电slice。我一直这样做。

据我所知,JavaScript中的单词args并没有什么特别之处。