javascript - 关于JS的string.indexOf('value',start,end),返回索引值问题

查看:122
本文介绍了javascript - 关于JS的string.indexOf('value',start,end),返回索引值问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

学习网上文章,讲JS的string.indexOf('value',start,end),返回索引值问题。其中的start表示开始搜索的字符串下标,end是搜索几个位置,也就相当于length.
先写几个做对比:
//d的下标是3
var test="abcdefghijk";
test.indexOf('d',3,1)//3
test.indexOf('d',4,1)//-1
test.indexOf('d',0,1)//3
第一个d在区间【3,4】中,3在里面;第二个不在;但是第三个的区间是【0,1】,3不在里面,怎么还会显示出d的索引值是3??

解决方案

如上所言,String.prototype.indexOf 的确只接受两个参数;

stringObject.indexOf(searchValue,fromIndex)

indexOf()用来检索指定的字符串值在字符串中首次出现的位置。它可以接收两个参数:
searchValue:表示要查找的子字符串,
fromIndex:表示查找的开始位置,省略的话则从开始位置进行检索。

所以,打印结果很明显能想得通了;(跟第三个参数没有什么关系)。

自荐下,前段时间正好写了篇 JavaScript 字符串实用常操纪要, 不妨一读;

这篇关于javascript - 关于JS的string.indexOf('value',start,end),返回索引值问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆