substring和substr的区别和使用

第一反应是都是截取字符串的方法,好像平常使用的时候也没太注意区分这俩,今天看到正好来区分一下

  • substring(start,[end])
    • 如果省略end,那么截取的是从指定位置到末尾
	var str  = '123456789';
	str.substring(1);//'23456789'
  • substr(start,[length])
  • 如果省略length,那么截取的是从指定位置到末尾
	var str = '123456789';
	str.substr(1);//'23456789'

嘿,这俩方法在省略第二个参数的情况下返回值是一样的
重点来了,他们俩的就靠第二个参数来区分了,其实光看传递名字就能知道了,但是有时候总会忘记文档。
首先是substring(ps:不接受负的参数)

	str.substring(1,2);//'2'
	str.substring(1,3);//'23'
	string.substring(1,4);//'234'

它截取的结果是:从start开始取,到end结束,从0开始数,其中不包括end位置的字符
substr:

str.substr(1,2);//'23'
str.substr(1,3);/'234'

substr截取的从start开始指定长度的字符串
有意思的是substr可以传负的参数,传负的参数会从字符串末尾开始截取

	str.substr(-1);//9
	str.substr(-2);/89
	str.substr(-5);//56789
posted @ 2019-08-08 16:53  ✔️zhangfl_go  阅读(222)  评论(0编辑  收藏  举报