学习网上文章,讲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??
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如上所言,String.prototype.indexOf 的确只接受两个参数;
所以,打印结果很明显能想得通了;(跟第三个参数没有什么关系)。
自荐下,前段时间正好写了篇 JavaScript 字符串实用常操纪要, 不妨一读;
MDN上是String.prototype.indexOf()只有两个参数啊,如果是这样的话,就说通了,第三个参数没用的嘛。
我怀疑你看到了假文章(开玩笑的,别生气哈)