今天在工作的过程中,看到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的学习。的更多相关文章

  1. js中substring和substr的用法

    js中substring和substr的用法 substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数    ...

  2. js中substring和substr的用法 (转)

    1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数     ...

  3. js 中 substring() 和 substr() 提取字符

    提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(startPos,stopPos)  ...

  4. js中substring和substr的用法比较

    推荐使用substring 方法   stringObject.substring(start,stop)   stringObject.substr(start,length)   定义和用法 提取 ...

  5. JS中substring与substr的区别

    Substring: 该方法可以有一个参数也可以有两个参数. (1)  一个参数: 示例: var str=“Olive”: str.substring(3); 结果:“ve” 说明:当substri ...

  6. JS中substring与substr的用法

    substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...

  7. js中substring和substr用法与区别

    String.substring( ):用于返回一个字符串的子串 用法如下:string.substring(from, to) 其中from指代要抽去的子串第一个字符在原字符串中的位置 to指代所要 ...

  8. js中substring/substr和C#中Substring的用法

    一:在js中截取字符串的方法有两个:substring和substr 1.方法: substring(int stringIndex,[int endIndex]) 截取从索引为stringIndex ...

  9. javascript中substring()、substr()、slice()的区别

    在js字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. ...

随机推荐

  1. [MCSM]随机搜索和EM算法

    1. 概述 本节将介绍两类问题的不同解决方案.其一是通过随机的搜索算法对某一函数的取值进行比较,求取最大/最小值的过程:其二则和积分类似,是使得某一函数被最优化,这一部分内容的代表算法是EM算法.(书 ...

  2. <实训|第十天>从底层解释一下U盘内存为什么变小的原因附数据恢复的基本原理

    [root@localhost~]#序言 我们平时不论是买一个U盘硬盘,或者自己在电脑上创建一个分区,大小总是比我们创建的要小一点,有些人会说,这个正常啊,是因为厂家规定的1M=1000k,真正的是1 ...

  3. 日志记录类库log4net的使用总结

    log4net是一个开源的日志记录类库,经过配置后可以自动抓取程序中的错误.异常信息,并写入磁盘,也可以在异常发生时执行其他指定的操作,比如:通知某人右键.写入数据库等.这里写个ASP.NET MVC ...

  4. memcache 安装

    1 下载两个文件 wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz wget http://www.monkey.org/ ...

  5. Hibernate Synchronizer3——一个和hibernate Tool类似的小插件之使用方法

    首先,要告诉大家的是,当我们要自动生成Mapping File的时候,我们除了使用hibernae tools之外,还可以通过一个更为简洁的插件,只需通过点击: 1.Hibernate Configu ...

  6. iOS--更新cooped库

  7. Day Five (beta)

    站立式会议 站立式会议内容总结 331 今天:爬虫抓取豆瓣数据; 明天:数据展示在话题详情页,话题页修改 442 今天:了解聊天模块 遇到的问题:无 明天:编写聊天模块 439 今天:学习 遇到困难 ...

  8. Thinkphp url 除去index.php

    例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index. ...

  9. java定时器

    package com.lid;            import java.util.Calendar;      import java.util.Date;      import java. ...

  10. LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...