substr和substring的区别

  • Post author:
  • Post category:其他


  1. substr和substring的索引值都是从 0 开始的,但是当传入的索引是负值的时候那么就要注意了
 var str='abc,def';
    	str.substr(1) 	//bc,def
    	str.substring(1)	//bc,def
    
    //-----重点-------
    	str.substr(-1)  //  f
    	str.substring(-1) //abc,def

当substr中参数是 -1 的时候那么,索引就从倒数最后一为开始计数。 当substring中参数是负值的时候那么就相当于 substring(0) ==> 截取全部字符串,注意:只要substring 中有索引为负值,那么就自动把该索引看成0

  1. substr和substring两个参数的时候
  var str='abc,def';
    	str.substr(2,4) 	//c,de
    	str.substring(2,4)	//c,
  • 这里注意的是substr是截取当前索引的后n位。sb:str.substr(2,4) 截取索引为 2 的后4位
  • substring( 2 , 4 ) 指的是从索引为2,截取到索引为4 注意虽然说是到 4,但并不包括4
  • 最重要的一点 substr 的区间是 [ 左闭,右闭 ] substring的区间是 [ 左闭 ,右开)

3.下面代码可以进行自我测试练习,同样重要,请耐心看完

substring 的索引值是“从小到大”

 var str='abc,def'
    	str.substr(1,0)  //不报错,输出空   当第二参数 <=0  的时候输出的值为  空
    	str.substring(2,0)  //ab  这个等于 substring(0,2) 自动会把小的作为第一个索引值
    
    
    	str.substr(-3,3)  //def   -1为倒数最后一个,则-3就为d
    	str.substring(-3,3)  //abc  等价于substring(0,3)   请参考 1.



版权声明:本文为weixin_44060930原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。