概述
slice()
方法提取字符串中的一部分,并返回这个新的字符串。
语法
str.slice(beginSlice[, endSlice])
参数
beginSlice
- 从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做
sourceLength + beginSlice
看待,这里的sourceLength 是字符串的长度
(例如, 如果beginSlice
是 -3 则看作是:sourceLength - 3
) endSlice
- 可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,
slice
会一直提取到字符串末尾。如果该参数为负数,则被看作是 sourceLength + endSlice,这里的 sourceLength 就是字符串的长度(例如,如果 endSlice 是 -3,则是, sourceLength - 3)。
描述
slice()
从一个字符串中提取字符串并返回新字符串。在一个字符串中的改变不会影响另一个字符串。也就是说,slice
不修改原字符串,只会返回一个包含了原字符串中部分字符的新字符串。
slice()
提取新字符串但不包括 endSlice。str.slice(1, 4)
提起新字符串从第二个字符到第四个 (字符索引值为 1, 2, 和 3).
举个例子, str.slice(2, -1)
提取第三个字符到最后一个字符。
例子
使用 slice()
创建一个新的字符串
下面例子使用 slice()
来创建新字符串:
var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);
console.log(str2); // OUTPUT: morning is upon u
给 slice()
传入负值索引
下面的例子在 slice()
使用了负值索引:
var str = 'The morning is upon us.';
str.slice(-3); // returns 'us.'
str.slice(-3, -1); // returns 'us'
str.slice(0, -1); // returns 'The morning is upon us'
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 3rd Edition. | Standard | Initial definition. Implemented in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) String.prototype.slice |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) String.prototype.slice |
Standard |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
参见