永发信息网

JavaScript中indexOf()方法的一个问题

答案:4  悬赏:20  手机版
解决时间 2021-12-28 11:58
  • 提问者网友:沉默的哀伤
  • 2021-12-27 11:46
var person = { name: &quot;Nicholas&quot; };<br>var people = [{ name: &quot;Nicholas&quot; }];<br>var morePeople = [person];<br>alert(people.indexOf(person));     //-1<br>alert(morePeople.indexOf(person)); //0<br><br>第一个为什么是-1呢?person不就是people数组的首项吗?
最佳答案
  • 五星知识达人网友:千夜
  • 2021-12-27 13:10
var person = { name: &quot;Nicholas&quot; };<br>var people = [person]; // 这个people的第一个元素为person<br>alert(people.indexOf(person));     //0
全部回答
  • 1楼网友:痴妹与他
  • 2021-12-27 15:18
方法string.indexOf()将从头到尾的检索字符串string,看它是否含有子串 substring。开始检索的位置在字符串string的start处或string的开头(没有 指定start参数时)。如果找到了一个substring那么String.indexOf()将返回 substring的第一个字符在string中的位置。string中的字符位置是从0开始的。 如果在string中没有找到substring,那么String.indexOf()方法将返回-1。
  • 2楼网友:第四晚心情
  • 2021-12-27 14:29
function test() { alert(&quot;test&quot;);}settimeout(test, 1000);其中,settimeout为延迟执行方法,是js原生的方法第一个参数为函数名,第二个参数为延迟时间,单位毫秒希望对您有帮助~settimeout() 只执行 code 一次。如果要多次调用,请使用 setinterval() 或者让 code 自身再次调用 settimeout()。 click on the button above. an alert box will bedisplayed after 5 seconds.
  • 3楼网友:北方的南先生
  • 2021-12-27 13:31
从代码中可以看出: people数组中定义了一个新的json对象,有name属性,且其值为Nicholas; morePeople数组一样有一个json对象,并且此json对象为person变量所代表的json对象; 可以这样来理解: 以上两个json对象相当于类的实例,但是是一个类的不同实例;故用people.indexOf(person)时,因为people数组中的类实例并不是person这个实例,所以返回-1; 而morePeople数组中的类实例就是person,故返回0。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯