javascript中substring()、substr()、slice()的区别
stringObject.substring(start,stop)
用于提取字符串中介于两个指定下标之间的字符。
start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
start从0开始 到stop(不包含stop)结束 不接受负的参数。
stringObject.substr(start,length)
可在字符串中抽取从start下标开始的指定数目的字符
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
stringObject.slice(start,end)
提取字符串的某个部分,并以新的字符串返回被提取的部分
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回新的字符串包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符
string.slice() string.substring() string.substr() var stringValue = “hello world”; alert(stringValue.slice(3)); //”lo world” alert(stringValue.substring(3)); //”lo world” alert(stringValue.substr(3)); //”lo world” alert(stringValue.slice(3,7)); //”lo w” alert(stringValue.substring(3,7)); //”lo w” alert(stringValue.substr(3,7)); //”lo worl”
三者如果只有一个参数n 则会从第n个位置开始返回剩余字符串(从0开始计算位置)
如果有两个参数n,m,slice与substring会从第n个位置开始返回到第m个位置(不包括第m位置)的字符串,而substr会返回从第n个位置开始的m个字符。
string.slice() string.substring() string.substr() var stringValue = “hello world”; alert(stringValue.slice(-3)); //”rld” alert(stringValue.substring(-3)); //”hello world” alert(stringValue.substr(-3)); //”rld” alert(stringValue.slice(3,-4)); //”lo w” alert(stringValue.substring(3,-4)); //”hel” alert(stringValue.substr(3,-4)); //”"(空字符串)
当参数是负值情况下,slice将传入负值与字符串长度(string.length)相加,substr会将负的第一个参数加上字符串长度,第二个转换为0,substring会将所有负值都转换成0。
IE的JavaScript实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串。
以上就是本章的全部内容,更多相关教程请访问JavaScript视频教程!
推荐阅读
-
JavaScript中的slice()方法使用详解
-
在javaScript中关于submit和button的区别介绍_基础知识
-
javascript中的onkeyup和onkeydown区别介绍_基础知识
-
JavaScript中各种编码解码函数的区别和注意事项_javascript技巧
-
比较全面的event对像在IE与FF中的区别 推荐_javascript技巧
-
JavaScript中数组中的方法:push()、pop()、shift()、unshift()、slice()、splice()、reverse()、join()、split()、concat()、...
-
JavaScript中indexOf与search的区别详解
-
JavaScript中undefined和null的区别
-
JavaScript中的call和apply的用途以及区别
-
JavaScript中的this,call,apply使用及区别详解