浅谈Javascript中substr和substring的区别


Posted in Javascript onSeptember 30, 2015

 由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别。

然而并不是,且听我一一道来。

1. substr(index, length)

  从起始索引号提取字符串中指定数目的字符。

  substr方法可以传入两个参数 index和length。index是起始位,length是截取的长度。

  当index是个非负整数时:

    a. 如果不传入参数,则得到的还是字符串本身。

        如: "abcdefg".substr() -> "abcdefg"

    b. 如果只传入一个参数,即index,则默认截取到字符串最后一位。

        如: "abcdefg".substr(2) -> "defg".

  当index是个负整数时:

    c. 如果传入一个负整数下标位则从后往前数,起始位为1,到达负整数绝对值的下标位,截取则是从前往后。

        如: "abcdefg".substr(-2) -> "fg"  <=> "abcdefg".substr(-2 + "abcdefg".length)

2. substring(start, end)

  提取字符串中介于两个指定下标之间的字符。

  substring也是传入两个参数,但是这两个参数都是下标数字,下标从0开始计算,截取的长度是这两个下标的差

  可以记作"含头不含尾"

  如: "abcdefg".substring(2,4) -> "cd"

Javascript 相关文章推荐
关于取不到由location.href提交而来的上级页面地址的解决办法
Jul 30 Javascript
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
jquery随机展示头像代码
Dec 21 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
浅谈JavaScript 的执行顺序
Aug 07 Javascript
jQuery的ready方法实现原理分析
Oct 26 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
Bootstrap实现翻页效果
Nov 27 Javascript
Vue项目安装插件并保存
Jan 28 Javascript
JS开发自己的类库实例分析
Aug 28 Javascript
Vue自动构建发布脚本的方法示例
Jul 24 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 #Javascript
js实现创建删除html元素小结
Sep 30 #Javascript
node.js下LDAP查询实例分享
Sep 30 #Javascript
Javascript中replace()小结
Sep 30 #Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 #Javascript
谈谈JavaScript异步函数发展历程
Sep 29 #Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 #Javascript
You might like
php获取错误信息的方法
2015/07/17 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
2020/03/03 PHP
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
python中ConfigParse模块的用法
2014/09/29 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python获取代理IP的实例分享
2018/05/07 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang