JS中substring和slice在取字符的区别

JavaScript019

JS中substring和slice在取字符的区别,第1张

最主要的区别是:slice支持负数的下标(代表从字符串结尾开始算位置),substring不支持

substring() 方法用于提取字符串中介于两个指定下标之间的字符。主要用于字符串截取

stringObject.substring(start,stop)

start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

end:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

例如:"abcdefg".substring(3,5)返回de,字符串的第3个字符是d(从0开始,即a是第0个字符),截取到第5个字符前(不包括第5个)

与 slice()方法不同的是,substring() 不接受负的参数。

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

stringObject.slice(start,end)

start:要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

end:紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。

slice的参数一个是start,一个是end,解释是会这个区间的所有值,但是实际上是 start(包含), end(不包含)

简单看下

这里0-5,应该是6个数,但是只拷贝了前五个,所以slice的end参数,是不包含的

区别是:

prototype slice指的是原型片。

slice指的是切成片切下划分薄片一部分。

例句:

prototype slice

The related research work were mainly focused on the implementing methods forthe key modules of the software prototype, including: slice image stack fastreconstruction, high accuracy image edge detection, inspection model and CADmodel alignment, wall thickness inspection and casting defects extraction etc.

研究了图像序列快速重建、高精度图像边缘检测、叶片点云模型与CAD设计模型配准、叶片壁厚检测与铸造缺陷分析等关键模块的实现方法。

slice

1、Try to eat at least four slices of bread a day.

每天尽量至少吃4片面包。

2、Helen sliced the cake.

海伦把蛋糕切成片。

3、Fiction takes up a large slice of the publishing market.

小说在出版市场上占了很大的份额。