返回一个从指定位置开始的指定长度的子字符串。
stringvar.substr(start [, length ])
stringvar
必选项。要提取子字符串的字符串文字或 String 对象。
start
必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length
可选项。在返回的子字符串中应包括的字符个数。
如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。
下面的示例演示了substr 方法的用法。
function SubstrDemo(){
var s, ss; // 声明变量。
var s = “The rain in Spain falls mainly in the plain.”;
ss = s.substr(12, 5); // 获取子字符串。
return(ss); // 返回 “Spain”。
}
返回字符串的片段。
stringObj.slice(start, [end])
stringObj
必选项。是一个 String 对象或文字。
start
必选项。下标以 0 开始的 stringObj 指定部分起始索引。
end
可选项。下标以 0 起始的 stringObj 的指定部分结束索引。
slice 方法返回一个包含 stringObj 的指定部分的 String 对象。
slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。
在下面的示例中,slice 方法的两种用法将返回相同的结果。第二个示例中的 -1 指向 str1 中的最后一个字符,并作为提取操作的结束位置。
str1.slice(0)
str2.slice(0,-1)
返回一个数组的一段。
arrayObj.slice(start, [end])
arrayObj
必选项。一个 Array 对象。
start
必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。
end
可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。
slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。
slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。
在下面这个例子中,除了最后一个元素之外,myArray 中所有的元素都被复制到 newArray 中:
newArray = myArray.slice(0, -1)