浅谈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动态获取当前时间,并写到特定的区域
May 03 Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 Javascript
$.extend 的一个小问题
Jun 18 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
Nov 17 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
Nov 08 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
JavaScript中工厂函数与构造函数示例详解
May 06 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
Jun 28 Javascript
解决vue v-for src 图片路径问题 404
Nov 12 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
Node快速切换版本、版本回退(降级)、版本更新(升级)
Jan 07 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对象类型判断
2008/08/27 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
Python中optparse模块使用浅析
2015/01/01 Python
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
python字典的值可以修改吗
2020/06/29 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
高校毕业生登记表自我鉴定
2013/11/03 职场文书
中学教师自我鉴定
2014/02/07 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
工作失职自我检讨书
2015/05/05 职场文书
电工实训心得体会
2016/01/14 职场文书