您的位置:首页 > Web前端 > JavaScript

javascript,子字符串操作方法:Slice()、Substr()、Substring()的区别

2013-03-08 16:32 567 查看
一、参数含义上的区别。

第一个参数第二个参数(可选)
slice()开始位置需要返回的子字符串最后一个字符后面的位置
substr()开始位置需要返回的字符个数
substring()开始位置需要返回的子字符串最后一个字符后面的位置
例如:

var strValue = "javascript programing";
alert(strValue.slice(3));           //"ascript programing"
alert(strValue.substring(3));       //"ascript programing"
alert(strValue.substr(3));          //"ascript programing"
alert(strValue.slice(3,13));        //"ascript pr"
alert(strValue.substring(3,13));    //"ascript pr"
alert(strValue.substr(3,13));       //"ascript progr"


二、处理负值参数时的区别。

参数的含义不变,只不过参数为负值时,3个子字符串函数会对负值参数进行不同的处理。

第一个参数第二个参数(可选)备注
Slice()将负值与字符串的长度相加将负值与字符串的长度相加
Substr()将负值与字符串的长度相加将负值变为0
substring()将负值变为0将负值变为0负值处理后,该函数会将较

小的数作为开始位置,较大

的数作为结束位置

例如:

var strValue = "javascript programing";
alert(strValue.slice(-3));        => alert(strValue.slice(18));       //"ing"
alert(strValue.substring(-3));    => alert(strValue.substring(0));    //"javascript programing"
alert(strValue.substr(-3));       => alert(strValue.substr(18));      //"ing"
alert(strValue.slice(3,-13));     => alert(strValue.slice(3,8));      //"ascri"
alert(strValue.substring(3,-13)); => alert(strValue.substring(0,3));  //"jav"
alert(strValue.substr(3,-13));    => alert(strValue.substr(3,0));     //""
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: