indexOf与复杂数据类型

indexOf与复杂数据类型

var person = {name: "Nicholas"};

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

var morePeople = [person];

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

alert(morePeople.indexOf(person));  // 0

alert(morePeople.indexOf(person)); 中,在 morePeople 对象中查找 person,由于 person 为复杂数据类型,按地址引用,morePeople 对象中 [person] 中的 person 为引用地址,alert(morePeople.indexOf(person)); 的person也为引用地址,两者相等,故输出位置 0;

关于 alert(people.indexOf(person)); 输出结果为 -1 (-1 代表查找的元素不存在),在 people 对象中查找 person 的引用地址,由于 [{name: “Nicholas”}] 数组中并无 person 引用地址,故结果为 -1;

indexOf与复杂数据类型_第1张图片

你可能感兴趣的:(indexOf与复杂数据类型)