网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

JS中includes()和indexOf()有哪些区别

这篇文章给大家分享的是有关JS中includes()和indexOf()有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

为三门等地区用户提供了全套网页设计制作服务,及三门网站建设行业解决方案。主营业务为成都网站制作、成都做网站、三门网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1、基本区别

  • includes()和indexOf()都是用来检查数组是否包含某些元素,includes()返回值是布尔值,indexOf()返回的是索引值,如果没有返回-1

let arr = [1,2,3]
arr.indexOf(0)	// -1
arr.indexOf(2)	// 1
arr.includes(2)	// true

2、检查NAN和undefined

  • 因为indexOf()是严格按照===操作符来做值的比较,所以indexOf()不能检查NAN,但是includes()可以

let arr = [NaN,]
arr.indexOf(NaN)	// -1
arr.indexOf(undefined) // -1
arr.includes(NaN)	// true
arr.includes(undefined)	// true

3、检查-0和+0

  • includes()和indexOf()没有区分-0和+0,在判断时,认为二者是相同的

let arr = [+0]
arr.includes(-0) // true
arr.indexOf(-0) // 0

4、不能检查复杂数据类型

  • 二者只能判断简单数据类型,对于对象、数组等复杂数据类型是不可以判断的

let arr = [{a:1},{a:2}]
arr.includes({a:1}) // false
arr.indexOf({a:1}) // -1

5、indexOf()可用于字符串

  • 返回指定字符第一次出现的位置,并且存在有隐式转换

let str = 'a1b2c3'
str.indexOf('2')); //3
str.indexOf(1)); //3

感谢各位的阅读!关于“JS中includes()和indexOf()有哪些区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


文章题目:JS中includes()和indexOf()有哪些区别
本文网址:http://bjjierui.cn/article/peoecs.html

其他资讯