10

最近看了很多 NodeJS 和 Javascript 代码,似乎 arguments 不是 Array 的一个实例,但仍然表现得像一个,所以人们会做类似Array.prototype.slice.call(arguments, ...)or的事情,[].slice.call(arguments)这会增加冗长并增加新手理解的障碍等。有什么原因吗? arguments 不是 Array 的一个实例,或者这只是那些不好的部分?

4

1 回答 1

28

没有arguments是一个独立的对象,恰好有一个length属性并且能够使用[]它来索引它。但除此之外,它只是一个对象,而不是一个Array对象。

是的,这确实是 JavaScript 的坏处之一。

于 2011-01-28T07:11:34.530 回答