includes()方法返回结果为true或者false
indexOf()方法返回-1或者元素所在数组下标索引
对于简单数据类型,值存在的话includes返回的就是true,indexOf返回的则是所在数组的下标
let arr=[0,2,null]
console.log(arr.indexOf(2)) //返回1(2所在arr下标索引)
console.log(arr.includes(2)) //返回true
对于复杂数据类型
let student = { name: '张三' } //student变量存的是一个地址引用
let stuList1 = [{ name: '张三' }] //stuList1[0]是一个值,是一个匿名对象
let stuList2= [{ name: '李四' }, student]
console.log(stuList1.indexOf(student)) //返回-1
console.log(stuList2.indexOf(student)) //返回1
console.log(stuList1.includes(student)) //返回false
console.log(stuList2.includes(student)) //返回true
console.log(student === stuList1[0]) //false
console.log(student.name == stuList1[0].name) //true