关于indexOf

这篇博客探讨了JavaScript中String、Number和Array类型对indexOf方法的使用。在String类型中,indexOf能进行类型转换并找到子字符串位置;Number类型不支持indexOf,需要转换为字符串;在Array中,indexOf按严格相等比较查找元素,不进行类型转换。博客强调了类型转换和严格相等在indexOf方法中的应用,并提醒注意隐式类型转换的问题。
摘要由CSDN通过智能技术生成

indexOf 使用笔记

String 类型的使用

let str = 'orange';
 
str.indexOf('o'); //0
str.indexOf('n'); //3
str.indexOf('c'); //-1

Number 类型的使用

let num = 2016;
 
num.indexOf(2); //Uncaught TypeError: num.indexOf is not a function

array 类型的使用

let arr = ['orange', '2016', '2016'];
 
arr.indexOf('orange'); //0
arr.indexOf('o'); //-1
 
arr.indexOf('2016'); //1
arr.indexOf(2016); //-1

arr.indexOf(‘orange')输出 0 因为 ‘orange’ 是数组的第 0 个元素,匹配到并返回下标。
arr.indexOf(‘o')输出 -1 因为此方法不会在每一个元素的基础上再次执行 indexOf 匹配。
arr.indexOf(‘2016') 输出 1 因为此方法从头匹配直到匹配到时返回第一个数组元素的下表,而不是返回全部匹配的下标。
arr.indexOf(2016)输出 -1 注意:这里不会做隐式类型转换。

总结
String:indexOf 会将’0’做类型转换,转换为0。
Number:没有indexOf 方法。需要将数字类型转换为字符串。方法有三种。直接字符串、字符串toString、字符串拼接。
Array:数组同样有indexOf 方法,只不过做类型判断时,使用的严格相等(strict equality),也就是 === 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值