RT在书上看见这个例子varperson={name:"Nicholas"};varpeople=[{name:"Nicholas"}];varmorepeople=[person];alert(people.indexOf(person));//-1alert(morepeople.indexOf(person));//0有点不明白为何alert(people.indexOf(person));会得到-1
2 回答
RISEBY
TA贡献1856条经验 获得超5个赞
我去看了一下那本书,首先你的代码有一个地方错了。morepeople=[person]这样才对。在这里查找的时候,所比较的是对象。在people这个数组中的这个{name:"Nicholas"}和person并不是同一个对象,而morepeole中和person是同一个对象(因为直接引用了它)。因此第一个会返回-1(无法找到),第二个是0。你可以直接进行测试,person==people[0]或者person===people[0]都是不成立的(false)。
添加回答
举报
0/150
提交
取消