是否存在阻止我这样做的浏览器限制或任何其他问题:
fn.apply(this, arguments);
与
fn.apply(this, Array.prototype.slice.call(arguments));
我知道apply
将“true”Array
作为第二个参数,但传递参数集合似乎同样有效。或...?
答案 0 :(得分:4)
根据MDN,它“调用具有给定值的函数和作为数组提供的参数(或像对象一样的数组)”。鉴于arguments
是一个类似数组的对象,使用它不应该有任何限制。
事实上,description明确表示arguments
是一个有效的参数。
答案 1 :(得分:0)
只知道Firefox接受Function.prototype.apply()
的第二个参数的类似于对象的对象。在直接通过arguments
之前我会谨慎行事。