我找到了一个关于call的link,在这里我了解了javascript的工作原理
在链接中,这些人提供了以下示例。
var anArrayLikeObj = {0:"Martin", 1:78, 2:67, 3:["Letta", "Marieta", "Pauline"], length:4 }
Array.prototype.slice.call (anArrayLikeObj, 0)通过以下方式获得输出。
["Martin", 78, 67, Array[3]他们所提供的,是我的理解目的,我修改对象(AnArrayLikeObj)的工作方式如下。
var anArrayLikeObj = {0:"Martin", 1:78, 2:67, 3:["Letta", "Marieta", "Pauline"]}
Array.prototype.slice.call (anArrayLikeObj, 0)getting output emptyArray([]).So我不明白这两个都是对象,唯一不同的是length.Because的属性,它不是我的方法。
有什么原因吗?
发布于 2014-01-15 02:36:02
术语JavaScript中的类似数组指的是同时具有非负整数属性和数值length属性的对象。因此,您的第二个对象不是类似数组的。
注意,Array.prototype.slice使用您在length中提供的值来确定对象中有多少元素。无论对象的实际大小如何,更改该值都会创建不同的输出。
https://stackoverflow.com/questions/21121197
复制相似问题