var person ={name:"n"}
var people=[{name:"n"}];
var morePeople=[person];
alert(people.indexOf(person)) ; //-1
alert(morePeople.indexOf(person)); //0
//不明白people和morePeople两者之间的差别。
var person ={name:"n"}
var people=[{name:"n"}];
var morePeople=[person];
alert(people.indexOf(person)) ; //-1
alert(morePeople.indexOf(person)); //0
//不明白people和morePeople两者之间的差别。
var person ={name:"n"}
var people=[{name:"n"}];
var morePeople=[person];
alert(people.indexOf(person)) ; //-1
alert(morePeople.indexOf(person)); //0
按我的理解,变量保存的是对象的引用,所以,people.indexOf(person),求的应该是它保存的引用在people中的位置,但是虽然 person 指向的对象的值虽然是{name:"n"},但是,跟people中的{name:"n"},并不是同一个对象,所以,就返回了 -1.
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
归根结底,你问题是为什么
{name: "n"} === {name: "n"}
结果是false
。那你要去看看Comparison operators