在JavaScript中,您可以将apply与Args一起使用吗



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

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

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

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

我假设你指的是arguments而不是args。第一个版本很好。MDN在这里和这里非常清楚地表明了这一点:

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

CCD_ 3可以是类似数组的对象。

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

您可以将applyarguments一起使用,而无需调用slice。我一直都这么做。

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

最新更新