今天在工作的过程中,看到js中两个双胞胎函数。分别是substring与substr。顿时被两个可恶的家伙给迷惑住了,不知道具体有什么作用。、
先来看看substring手册是怎么介绍的。
手册解释的还是比较清楚的。不过还是用我的自己话给总结一下,顺便来个栗子巩固一下。
在这里你可以把字符串当成类数组的对象。既然是数组,那么就有下标,下标是从0开始的。
start 与 stop 都不能是负数。下标不能为负所致。
开始数值不能比结束的还大,否则会颠倒开始与结束的次序。
截取的字符串数量,是结尾减开始。
栗子:
//第一种情况 msg = 'RoverLiang'; tmp = msg.substring(3, 2); alert(tmp); //弹出 v //第二种情况 msg = "RoverLiang"; tmp = substring(3, 0); alert(tmp); //弹出Rov //总结 substring总是再start与end两个参数中选择一个比较小的作为开始位。
再来看看substr是怎么回事?
//第一种情况 msg = 'RoverLiang'; tmp = msg.substr(3, 2); alert(tmp); //返回er //第二种情况 msg = 'RoverLiang'; tmp = msg.substr(2, 3); alert(tmp); //返回ver //第三种情况
msg = 'RoverLiang';
tmp = msg.substr(-2, 3);
alert(tmp); //返回ng 该函数总是总前往后截的不够三个了,只能截2个
//第四种情况
msg = 'RoverLiang';
tmp = msg.substr(-2, -3);
alert(tmp); //什么也不返回,因为截取是一个负数。