浅谈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制作的别致导航有阴影背景高亮模式窗口
Apr 15 Javascript
jquery中each遍历对象和数组示例
Aug 05 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
理解 javascript 中的函数表达式与函数声明
Jul 07 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
详解如何用模块化的方式写vuejs
Dec 16 Javascript
Vue二次封装axios为插件使用详解
May 21 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
Javascript类型判断相关例题及解析
Aug 26 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 Javascript
jQuery实现增删改查
Dec 22 jQuery
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
打造计数器DIY三步曲(上)
2006/10/09 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
基于Zend的Captcha机制的应用
2013/05/02 PHP
php中动态变量用法实例
2015/06/10 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
vue使用video.js进行视频播放功能
2019/07/18 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
Python中pygame安装方法图文详解
2015/11/11 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
python flask实现分页的示例代码
2018/08/02 Python
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
休学证明范本
2015/06/19 职场文书
公司安全管理制度范本
2015/08/05 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python