为什么Array的函数不能用于参数'?

时间:2014-04-25 09:36:10

标签: javascript

为什么我们不能在arguments上直接调用Array中的函数?

function f(){
   var x = Array.prototype.slice.call(arguments,1);
   //var x = arguments.slice(1);  **error**
 alert(x);
}

f(1,2,3);

更新:如果arguments不是数组对象,那么Array.prototype.slice函数如何在非数组对象上运行?

1 个答案:

答案 0 :(得分:4)

因为,尽管有一些类似数组的特性,但arguments对象不是数组。

defined独立于Array objects,而不参考{{3}}。