返回信息流var person={name:"Nicholas"};
var people=[{name:"Nicholas"}];
alert(people.indexOf(person)); //-1
为什么最后一行代码会输出-1?
这是一条镜像帖。来源:北邮人论坛 / www-technology / #25070同步于 2014/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
javascript数组的indexOf方法
wislov
2014/4/20镜像同步17 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
可以的。比如:
var person = {name:"Nicholas"};
var morePeople = [person];
alert(morePeople.indexOf(person)); //0
这个就输出0。我就是搞不懂这个和上面那个有什么不同
【 在 moonpather 的大作中提到: 】
: indexOf可以对比对象么?
: 我记得只能是字符串啊
但是,下面这个:
var p=3;
var a=[1,2,3,4];
var c=a.indexOf(p);
alert(c); //2
这个输出2啊,这里不是用全等判断的
【 在 binux 的大作中提到: 】
: people[0] !== person
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators
【 在 wislov 的大作中提到: 】
: 为什么?
哦。就是如果比较的是两个对象的话,全等必须是指向相同的对象?而基本类型只要值相等就行了?
【 在 binux 的大作中提到: 】
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators