JavaScript 说说arguments
面试中遇到了这样一个问题,在我在编码中使用arguments时,面试官顺便问道:arguments和数组的区别是什么。我记得arguments是伪数组,然后……就没有然后了。
实际上,关于argument
,MDN是这么说的:
The arguments object is not an Array. It is similar to an Array, but does not have any Array properties except length. For example, it does not have the pop method. However it can be converted to a real Array:
1var args = Array.prototype.slice.call(arguments);
2
翻译起来说,也就是说,他除了数组所具有的length
属性外,别的什么都没有,如果我们需要使用,需要调用call
或者apply
,或者把arguments
转换为真数组后操作。
评论 (0)