浅谈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 相关文章推荐
Stop SQL Server
Jun 21 Javascript
js实现运行代码需要刷新的解决方法
Aug 18 Javascript
基于jquery的商品展示放大镜
Aug 07 Javascript
用方法封装javascript的new操作符(一)
Dec 25 Javascript
20个最新的jQuery插件
Jan 13 Javascript
从零学jquery之如何使用回调函数
May 16 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
May 24 Javascript
JS简单实现浮动窗口效果示例
Sep 07 Javascript
JS脚本加载后执行相应回调函数的操作方法
Feb 28 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
Mar 08 Javascript
jQuery带控制按钮轮播图插件
Jul 31 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
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
如何在django中实现分页功能
2020/04/22 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
铁路工务反思材料
2014/02/07 职场文书
小学语文国培感言
2014/03/04 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
租房协议书范文
2014/08/20 职场文书
自主招生自荐信格式
2015/03/04 职场文书
《雷雨》教学反思
2016/02/20 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis