slice与substring的区别

slice与substring同为截取字符串的一部分,也同样有两个参数。下面来描述一下slice和substring的两个参数的使用方法如下:
1、slice:两个参数分别表示截取字符串的起始位置和结束位置,如果大于0,则从前面计数,如果小于0,则从后面计数,如果省略第二个参数,则会截取到字符串的尾部,参照下面的示例更容易理解:

var s = "hello ECMAScript5.1 and ECMAScript2015";
	console.log(s.slice(6,19)); //ECMAScript5.1
	console.log(s.slice(6,-4)); //ECMAScript5.1 and ECMAScript
	console.log(s.slice(-14,-4)); //ECMAScript
	console.log(s.slice(0,-14)); //hello ECMAScript5.1 and
	console.log(s.slice(-14)); //ECMAScript2015

2、substring:两个参数分别表示字符串的起始位置和结束位置,所不同的是substring中如果结束位置在起始位置之前,则会自动将其调换后截取,当参数小于0 时按0处理,如果省略第二个参数,则会截取到字符串的尾部,参照下面的示例更容易理解:

var w = "www.excelib.com";
	console.log(w.substring(4,11)); //excelib
	console.log(w.substring(11,4)); //excelib
	console.log(w.substring(3,-4)); //www
	console.log(w.substring(3,0)); //www
	console.log(w.substring(4)); //excelib.com

区别:
1、substring:两个参数会比较大小来判断哪一个是起始位参数哪一个是结束位置参数,通俗的讲就是小的一个数会作为起始 位置参数,大的一个数会作为结束位置参数;
slice:则不会有这样的规则,只遵循大于0,从前面计数,小于0,从后面计数的原则。
2、substring:除了两个参数会比较大小调换位置外,还满足小于0时按0处理的规则;
slice:则是根据大于0和小于0来判断计数的前后顺序

猜你喜欢

转载自blog.csdn.net/qq_26679989/article/details/112319782