浅谈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 相关文章推荐
JS 表单验证大全
Nov 23 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
AJAX和jQuery动态加载数据的实现方法
Dec 05 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
Jun 19 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
es6函数之尾调用优化实例分析
Apr 25 Javascript
微信小程序自定义弹出层效果
May 26 Javascript
Vue使用axios引起的后台session不同操作
Aug 14 Javascript
关于vue 项目中浏览器跨域的配置问题
Nov 10 Javascript
canvas实现贪食蛇的实践
Feb 15 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
Php+SqlServer实现分页显示
2006/10/09 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
从php核心代码分析require和include的区别
2011/01/02 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
python实现2014火车票查询代码分享
2014/01/10 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
鼓励运动员的广播稿
2014/02/08 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
股权转让协议书范本
2014/04/12 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
同意迁入证明模板
2014/10/26 职场文书
工作简历的自我评价
2019/05/16 职场文书
基于angular实现树形二级表格
2021/10/16 Javascript
在Python 中将类对象序列化为JSON
2022/04/06 Python