Javascript中slice()、substr()、substring()的使用方法

ECMAScript提供了三个基于字符串创建新字符串的方法slice()、substr()和substring()。这三个方法都会返回被操作字符串的一个子字符串,而且也都接受一个或两个参数。第一个参数指定字符串的开始位置,第二参数表示子字符串到哪里结束。

var stringValue = "hello word";

alert(stringValue.slice(3));     //"lo world"

alert(stringValue.substr(3));     //"lo world"

alert(stringValue.substring(3));     //"lo world"

alert(stringValue.slice(3,7));     //"lo w"

alert(stringValue.substr(3,7));     //"lo worl"

alert(stringValue.substring(3,7));     //"lo w"

substr()方法的第二个参数指定高的是返回字符串的个数。注意:空格也属于一个字符。

slice(),substr(),substring()不会修改字符串本身的值——他们只是返回一个基本类型的字符串值,对原始字符串没有任何影响。

在传递给这些方法的参数是负值的情况下,他们的行为就有所不同了

var stringValue = "hello world";

alert(stringValue.slice(-3));     //"rld"

alert(stringValue.substr(-3));     //"rld"

alert(stringValue.substring(-3));     //"hello world"

alert(stringValue.slice(3,-4));     //"lo w"

alert(stringValue.substr(3,-4));     //""(空字符串)

alert(stringValue.substring(3,-4));     //"hel"

slice()方法会将负值与字符串长度相加。alert(stringValue.slice(-3))等同于alert(stringValue.slice(8)); alert(stringValue.slice(3,-4))等同于alert(stringValue.slice(3,8));

substr()方法将负的第一个参数加上字符串长度,而将负的第二个参数转化为0。alert(stringValue.substr(-3))等同于alert(stringValue.substr(8)); alert(stringValue.substr(3,-4))等同于alert(stringValue.substr(3,0));

substring()方法会把所有的负值都转化为0。alert(stringValue.substring(-3))等同于alert(stringValue.substring(0));alert(stringValue.substring(3,-4));等同于alert(stringValue.substring(3,0));

注意的是substring()方法把负的第二个参数转化为0以后,0就是起始位置,而第一个参数为结束位置。即alert(stringValue.substring(3,0))等于alert(stringValue.substring(3,0));

陈健的个人博客,记录生活所见所感、学习笔记。专注于Web前端_SEO教程_读书心得。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回主页看更多
狠狠的抽打博主 支付宝 扫一扫