string.slice

string.slice

slice()方法提取一个字符串的一部分,并返回一新的字符串。

语法

str.slice(beginIndex[, endIndex])

参数

beginSlice从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做 sourceLength + beginSlice 看待,这里的sourceLength 是字符串的长度 (例如, 如果beginSlice 是 -3 则看作是: sourceLength - 3)

返回值

返回一个从原字符串中提取出来的新字符串

描述

slice() 从一个字符串中提取字符串并返回新字符串。在一个字符串中的改变不会影响另一个字符串。也就是说,slice 不修改原字符串,只会返回一个包含了原字符串中部分字符的新字符串。

slice() 提取的新字符串包括beginSlice不包括 endSlice

例2:str.slice(2, -1) 提取第三个字符到倒数第二个字符。

示例

使用 slice() 创建一个新的字符串

下面例子使用 slice() 来创建新字符串:

var str1 = 'The morning is upon us.', // the length of str1 is 23. str2 = str1.slice(1, 8), str3 = str1.slice(4, -2), str4 = str1.slice(12), str5 = str1.slice(30 console.log(str2 // OUTPUT: he morn console.log(str3 // OUTPUT: morning is upon u console.log(str4 // OUTPUT: is upon us. console.log(str5 // OUTPUT: ""

给 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'

规范

SpecificationStatusComment
ECMAScript 3rd Edition (ECMA-262)StandardInitial definition. Implemented in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)The definition of 'String.prototype.slice' in that specification.Standard
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'String.prototype.slice' in that specification.Standard
ECMAScript Latest Draft (ECMA-262)The definition of 'String.prototype.slice' in that specification.Living Standard

浏览器兼容性

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)