slice(start,end)
start:为截取字符串的起点位置,参数可以为负数,但是用法为:-1指最后一个字符,-2指倒数第二个字符,以此类推
end:为结束位置,返回的是start到end-1之间的字符(不包括end位置的字符)
若只有一个参数,则返回从那个参数开始到字符串最后的所有字符
如下例所示:
var value = "I Love You China";
alert(value.slice(3)); // "ove You China" 返回从位置3开始到字符串结尾的所有字符
alert(value.slice(-3)); // "ina" 返回从-3开始到字符串结尾的所有字符,也可理解为:字符串长度16+(-3)=13,这个13就是起点位置,返回从13开始到字符串结尾的所有字符
alert(value.slice(3,-4)); // "ove You C" 先将字符串长度16+(-4)=12,返回从3开始到12-1之间的所有字符
substring(start,end)
start:为截取字符串的起点位置
end: 为结束位置,返回从start到end-1之间的所有字符(不包括end位置的字符)
若只有一个参数,则返回从那个参数开始到字符串最后的所有字符,不接受负数参数,会将所有的负数参数转为0
如下例所示:
var value = "I Love You China";
alert(value.substring(3)); // "ove You China" 返回从位置3开始到字符串结尾的所有字符
alert(value.substring(-3)); // "I Love You China" 先将-3转为0,返回从0位置开始到字符串结尾的所有字符
alert(value.substring(3,-4)); // "I L" 先将-4转为0,因0小于第一个参数,所以将0与3交换位置,返回从0位置开始到3-1之间的所有字符
substr(start,length)
start:为截取字符串的起点位置
length:为总共要截取的字符串长度
如下例所示:
var value = "I Love You China";
alert(value.substr(3)); // "ove You China" 返回从位置3开始到字符串结尾的所有字符
alert(value,substr(-3)); // "ina" 返回从-3开始到字符串结尾的所有字符,也可理解为:字符串长度16+(-3)=13,这个13就是起点位置,返回从13开始到字符串结尾的所有字符
alert(value,substr(3,-4)); // "" 先将-4转为0,由于第二个参数length截取字符串的长度为0,所以返回的是空字符串
总结:
1、当只有一个参数时,三种方法的用法一样
2、substring()参数不接受负数,会将所有的负数转为0
3、substr()参数可以为负数,但是当有两个参数时会将第二个负数参数转为0
最近在读《JavaScript高级程序设计》(第三版),读到第五章,将相关笔记整理了一下,大家若有不同看法,请多多指教!!!
就是这版,当当当当!!!!!