String.prototype.slice() - JavaScript 编辑
slice()
方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
语法
str.slice(beginIndex[, endIndex])
参数
beginIndex
- 从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做
strLength + beginIndex
看待,这里的strLength
是字符串的长度(例如, 如果beginIndex
是 -3 则看作是:strLength - 3
) endIndex
- 可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,
slice()
会一直提取到字符串末尾。如果该参数为负数,则被看作是 strLength + endIndex,这里的 strLength 就是字符串的长度(例如,如果 endIndex 是 -3,则是, strLength - 3)。
返回值
返回一个从原字符串中提取出来的新字符串
描述
slice()
从一个字符串中提取字符串并返回新字符串。在一个字符串中的改变不会影响另一个字符串。也就是说,slice
不会修改原字符串(只会返回一个包含了原字符串中部分字符的新字符串)。
slice()
提取的新字符串包括beginIndex
但不包括 endIndex
。下面有两个例子。
例 1:str.slice(1, 4)
提取第二个字符到第四个字符(被提取字符的索引值(index)依次为 1、2,和 3)。
例 2:str.slice(2, -1)
提取第三个字符到倒数第一个字符。
例子
使用 slice() 创建一个新的字符串
下面例子使用 slice()
创建了一个新字符串。
var str1 = 'The morning is upon us.', // str1 的长度 length 是 23。
str2 = str1.slice(1, 8),
str3 = str1.slice(4, -2),
str4 = str1.slice(12),
str5 = str1.slice(30);
console.log(str2); // 输出:he morn
console.log(str3); // 输出:morning is upon u
console.log(str4); // 输出:is upon us.
console.log(str5); // 输出:""
给 slice() 传入负值索引
下面的例子在使用 slice()
时传入了负值作为索引。
var str = 'The morning is upon us.';
str.slice(-3); // 返回 'us.'
str.slice(-3, -1); // 返回 'us'
str.slice(0, -1); // 返回 'The morning is upon us'
规范
规范 | 状态 | 备注 |
---|---|---|
ECMAScript (ECMA-262) String.prototype.slice | Living Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) String.prototype.slice | Standard | |
ECMAScript 5.1 (ECMA-262) String.prototype.slice | Standard | |
ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2. |
浏览器兼容性
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论