最新前端知识尽在ASEOE,喜欢就收藏本站吧! 导航:HTML5CSS3JS移动端JQ插件

String.slice( )

抽取一个子串

可用性

JavaScript 1.2; JScript 3.0; ECMAScript v3

语法

string.slice(start, end)

参数

start

要抽取的片段的起始下标。如果是负数,那么该参数声明了从字符串的尾部开始算起的位置。也就是说,-1指字符串中的最后一个字符,-2指倒数第二个字符,以此类推。

end

紧接着要抽取的片段的结尾的下标。如果没有指定这一参数,那么要抽取的子串包括start到原字符串结尾的字符串。如果该参数是负数,那么它声明了从字符串的尾部开始算起的位置。

返回值

一个新字符串,包括字符串string从start开始(包括start)到end为止(不包 括end)的所有字符。

描述

方法slice()将返回一个含有字符串string的片段的字符串或返回它的一个子串。 但是该方法不修改string。

String对象的方法slice()、substring()和substr()(不建议使用)都返回字符串的指定部分。slice()比substring()要灵活一些,因为它允许使用负数作为参数。slice()与substr()有所不同, 因为它用两个字符的位置指定子串,而substr()则用字符位置和长度来指定子串。还要注意的是,String.slice()与Array.slice()相似。

示例

var s = "abcdefg";

s.slice(0,4)    // 返回 "abcd"

s.slice(2,4)    // 返回 "cd"

s.slice(4)      // 返回 "efg"

s.slice(3,-1)   // 返回 "def"

s.slice(3,-2)   // 返回 "de"

s.slice(-3,-1)  // 应该返回 "ef";返回"abcdef" in IE 4

Bug

在JScript 3.0(InternetExplorer 4)中,参数start的值是不能是负数。负的start值指定的不是从字符串尾部开始算起的字符位置,而是指定第0个字符的位置。

参阅

Array.slice( ), String.substring( )