javascript indexOf()问题

var person = { name:"Nicholas"};
var people = [{ name:"Nicholas"}];

var morePeople = [person];

alert(people.indexOf(person));      //-1
alert(morePeople.indexOf(person));  //0

为什么这两种方式返回的值不一样?第一种会找不到?

wy57
浏览 2505回答 2
2回答

wy57

数组的.indexOf方法,对于引用型的对象,是按对象的引用比较的morePeople[0]与person是同一个对象的引用people[0]与person是两个不同的对象,虽然对象的内容一样,

_Exception

people 里面 有 person 吗 ,
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript