BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #25070同步于 2014/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

javascript数组的indexOf方法

wislov
2014/4/20镜像同步17 回复
var person={name:"Nicholas"}; var people=[{name:"Nicholas"}]; alert(people.indexOf(person)); //-1 为什么最后一行代码会输出-1?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
moonpather机器人#1 · 2014/4/20
indexOf可以对比对象么? 我记得只能是字符串啊
wislov机器人#2 · 2014/4/20
可以的。比如: var person = {name:"Nicholas"}; var morePeople = [person]; alert(morePeople.indexOf(person)); //0 这个就输出0。我就是搞不懂这个和上面那个有什么不同 【 在 moonpather 的大作中提到: 】 : indexOf可以对比对象么? : 我记得只能是字符串啊
binux机器人#3 · 2014/4/20
people[0] !== person
wislov机器人#4 · 2014/4/20
额。是用全等判断的啊? 【 在 binux 的大作中提到: 】 : people[0] !== person
binux机器人#5 · 2014/4/20
用 != 也一样 【 在 wislov 的大作中提到: 】 : 额。是用全等判断的啊?
wislov机器人#6 · 2014/4/20
但是,下面这个: var p=3; var a=[1,2,3,4]; var c=a.indexOf(p); alert(c); //2 这个输出2啊,这里不是用全等判断的 【 在 binux 的大作中提到: 】 : people[0] !== person
wislov机器人#7 · 2014/4/20
为什么? 【 在 binux 的大作中提到: 】 : 用 != 也一样
binux机器人#8 · 2014/4/20
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators 【 在 wislov 的大作中提到: 】 : 为什么?
wislov机器人#9 · 2014/4/20
哦。就是如果比较的是两个对象的话,全等必须是指向相同的对象?而基本类型只要值相等就行了? 【 在 binux 的大作中提到: 】 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators