substr和substring的区别

145 阅读1分钟

相同点:
substr和substring都是操作字符串的方法,都可以对字符串进行截取
如果使用这两个方法,不传参直接使用会直接返回原字符串

var str = 'abcdefg'
console.log(str.substr()); // abcdefg
console.log(str.substring()); // abcdefg
substr

在VSCode中使用substr这个方法时,当把鼠标定位到这个方法名上时,就会出现以下提示

image.png 由此可见这个方法是一个字符串的方法,有两个参数,第一个参数表示从哪里开始,是一个数值,第二个参数是可选的可以写也可以不写,表示截取长度,也是一个数值,这个函数的返回一个字符串

代码校验:

var str = 'abcdefg'
      console.log(str.substr(1)) // bcd
      console.log(str.substr(1, 3)) // bcd
      console.log(str) // abcdefg

这个方法返回一个新的字符串,且不会改变原来的字符串

substring

image.png

substring也是一个字符串的方法,有两个参数都是数值类型,第一个参数表示开始截取位置,第二个参数是可选的,表示结束位置,返回一个字符串

var str = 'abcdefg'
      console.log(str.substring(1)); // bcdefg
      console.log(str.substring(1,3)); //bc
      console.log(str); // abcdefg

这个方法也是返回一个新的字符串,不会改变原来的字符串,但是这个函数的第二个参数是开区间,当我们写两个参数时表示,从索引号为第一个参数的值的值开始截取,截取到索引号为第二个参数值结束,且不会截取到索引号为第二个参数值的字符