在调用apply之前是否有必要将参数转换为Array?

Dav*_*ing 5 javascript arrays arguments apply

是否存在任何阻止我执行的浏览器限制或任何其他问题:

fn.apply(this, arguments);
Run Code Online (Sandbox Code Playgroud)

与:

fn.apply(this, Array.prototype.slice.call(arguments));
Run Code Online (Sandbox Code Playgroud)

我知道apply将"true" Array作为第二个参数,但传递一个参数集合似乎同样有效.要么...?

sam*_*aml 4

根据MDN 的说法,它“使用给定的 this 值和作为数组(或类似数组的对象)提供的参数来调用函数”。鉴于这arguments是一个类似数组的对象,因此使用它不应该有任何限制。

事实上,描述明确指出arguments这是一个有效的参数。