js中substring与substr的学习。
今天在工作的过程中,看到js中两个双胞胎函数。分别是substring与substr。顿时被两个可恶的家伙给迷惑住了,不知道具体有什么作用。、
先来看看substring手册是怎么介绍的。

手册解释的还是比较清楚的。不过还是用我的自己话给总结一下,顺便来个栗子巩固一下。
在这里你可以把字符串当成类数组的对象。既然是数组,那么就有下标,下标是从0开始的。
start 与 stop 都不能是负数。下标不能为负所致。
开始数值不能比结束的还大,否则会颠倒开始与结束的次序。
截取的字符串数量,是结尾减开始。
栗子:
//第一种情况
msg = 'RoverLiang';
tmp = msg.substring(3, 2);
alert(tmp); //弹出 v //第二种情况
msg = "RoverLiang";
tmp = substring(3, 0);
alert(tmp); //弹出Rov //总结 substring总是再start与end两个参数中选择一个比较小的作为开始位。
再来看看substr是怎么回事?

//第一种情况
msg = 'RoverLiang';
tmp = msg.substr(3, 2);
alert(tmp); //返回er //第二种情况
msg = 'RoverLiang';
tmp = msg.substr(2, 3);
alert(tmp); //返回ver //第三种情况
msg = 'RoverLiang';
tmp = msg.substr(-2, 3);
alert(tmp); //返回ng 该函数总是总前往后截的不够三个了,只能截2个
//第四种情况
msg = 'RoverLiang';
tmp = msg.substr(-2, -3);
alert(tmp); //什么也不返回,因为截取是一个负数。
js中substring与substr的学习。的更多相关文章
- js中substring和substr的用法
js中substring和substr的用法 substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数 ...
- js中substring和substr的用法 (转)
1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 ...
- js 中 substring() 和 substr() 提取字符
提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(startPos,stopPos) ...
- js中substring和substr的用法比较
推荐使用substring 方法 stringObject.substring(start,stop) stringObject.substr(start,length) 定义和用法 提取 ...
- JS中substring与substr的区别
Substring: 该方法可以有一个参数也可以有两个参数. (1) 一个参数: 示例: var str=“Olive”: str.substring(3); 结果:“ve” 说明:当substri ...
- JS中substring与substr的用法
substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...
- js中substring和substr用法与区别
String.substring( ):用于返回一个字符串的子串 用法如下:string.substring(from, to) 其中from指代要抽去的子串第一个字符在原字符串中的位置 to指代所要 ...
- js中substring/substr和C#中Substring的用法
一:在js中截取字符串的方法有两个:substring和substr 1.方法: substring(int stringIndex,[int endIndex]) 截取从索引为stringIndex ...
- javascript中substring()、substr()、slice()的区别
在js字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. ...
随机推荐
- 什么是web框架?
英文原文:http://jeffknupp.com/blog/2014/03/03/what-is-a-web-framework/ 在原文基础上加上了自己在翻译过程中,查看的资料和自己的一些理解,同 ...
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,LZ今天给各位分享一 ...
- 国内网站常用的一些 CDN 公共库加速服务
CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用.与将JS库存放在服务器单机上相比,CDN公共库更加稳定.高速.一 般的CDN公共库都会包含全球所有最流行的开源JavaScri ...
- IE对象最后一个属性后不要加逗号,否则在IE7及以下版本中会报错
某函数返回一个对象,如果在最后一个属性后加逗号,IE7及以下版本中会报错 正确代码: return{ top:rect.top-top, bottom:rect.bottom-top, left:re ...
- [转]java 输出流转输入流
ByteArrayOutputStream.toByteArray ByteArrayInputStream StringWriter.toString StringReader 字符流和二进制流是j ...
- java多态实现原理
众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定.C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于多态的支持 ...
- 使用D3绘制图表(2)--绘制曲线
上一篇是使用D3绘制画布,这一篇的内容是在画布上绘制曲线. 1.之前的html代码没有变化,但是我还是贴出来 <!DOCTYPE html> <html> <head&g ...
- Android 横屏不让输入法全屏显示
记录学习之用 查找资料参考记录的 在源码里进行修改. frameworks/base/core/Java/Android/inputmethodservice/InputMethodService. ...
- poj3294 出现次数大于n/2 的公共子串
Life Forms Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 13063 Accepted: 3670 Descr ...
- poj2631 树的直径
设s-t是这棵树的直径,那么对于任意给予的一点,它能够到达的最远的点是s或者t. 这样我们可以通过2次bfs找到树的直径了. #include<cstdio> #include<qu ...