js中indexOf疑问点-《javascript高级程序设计》

看《javascript高级程序设计》中关于index’Of的示例这个alert(people.indexOf(person));// -1为什么等于-1这一个有点疑问,查了些资料记载下

var person={name:“Nicholas”};
var people=[{name:“Nicholas”}];
var morepeople=[person];
alert(people.indexOf(person));// -1
alert(morepeople.indexOf(person));// 0

在这里查找的时候,所比较的是对象。
在 people 这个数组中的这个 {name:“Nicholas”} 和 person 并不是同一个对象,而 morepeole 中和 person 是同一个对象(因为直接引用了它)。
因此第一个会返回 -1(无法找到),第二个是 0。

你可能感兴趣的:(js中indexOf疑问点-《javascript高级程序设计》)