浅谈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 相关文章推荐
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
Sep 09 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
CSS javascript 结合实现悬浮固定菜单效果
Aug 23 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
JavaScript知识点总结之如何提高性能
Jan 15 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
微信小程序 数据交互与渲染实例详解
Jan 21 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
Vue.js 图标选择组件实践详解
Dec 03 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+mysql写的留言本
2006/10/09 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
常见的python正则用法实例讲解
2016/06/21 Python
Python实现通讯录功能
2018/02/22 Python
python递归函数绘制分形树的方法
2018/06/22 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
Python中最大递归深度值的探讨
2019/03/05 Python
python简单验证码识别的实现方法
2019/05/10 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
python中使用while循环的实例
2019/08/05 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
python如何进入交互模式
2020/07/06 Python
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
适用于所有创业者的创业计划书
2014/02/05 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
员工安全生产责任书
2014/07/22 职场文书
服务行业演讲稿
2014/09/02 职场文书
用电申请报告范文
2015/05/18 职场文书
抢劫罪辩护词
2015/05/21 职场文书
话题作文之诚信
2019/11/28 职场文书
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android