前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript字符串“三剑客”

JavaScript字符串“三剑客”

作者头像
企鹅号小编
发布2018-02-05 13:09:04
5540
发布2018-02-05 13:09:04
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

JavaScript字符串方法有很多,其中有三个方法与字符串裁剪有关,他们分别是slice()、substring()和substr(),我把他们统称为“三剑客”。

由于他们都是用于裁剪字符串,很容易混淆,所以接下来我将结合具体实例来讲讲他们的共同点和区别。

一、共同点

接受一个或两个参数,其中第一个参数为裁剪的开始位置

都会返回被裁剪下来的子字符串,而原字符串不受影响

若不传第二个参数,则从开始位置(第一个参数)一直截取到字符串结尾。

可以看出,当只传入一个参数时,这三个方法的用法和作用都是一致的,都是将“公”字(索引值为2)一直到字符串末尾的字符串裁剪下来并返回,并且都不会影响到原字符串。

二、区别

slice()和substring()的第二个参数均表示的是裁剪的结束位置(但不包括该项,这与数组中的slice()方法类似),而substr()的第二个参数则表示的是裁剪下来字符串长度

当传入的参数为负值时,slice()会将所有负参数与字符串的长度相加,substring()会把所有负参数都转换为0,而substr()就相对比较复杂了,它会将第一个负参数加上字符串长度,第二个参数转换为0

1. 参数均为正数

很明显,slice()和substring()用法一致,两个参数分别都表示的是起始位置2结束位置5,不包含结束位置5所在字符(“:”),而substr()第二个参数表示的是要裁剪下来的字符串长度,实例中是裁剪3个字符。

2. 参数存在负数

当参数为负数时,只需牢记,slice见负加总长,substring见负则归零,substr一加总长一归零。 另外还需要特别注意的一点是,slice()第一个参数须小于第二个参数才能正常截取字符串,否则返回的是空字符串,而substring()则没有这个问题。

本文重点总结:

substr()第二个参数是裁剪长度,只要为负,裁剪结果必定是空字符串

不管如何裁剪,均不影响原字符串

当参数为负,slice加总长,substring则归零,substr一加总长一归零。

本文来自企鹅号 - 前端微站媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 前端微站媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档