1.在String对象方法中,发现.slice()方法和.substring()方法的作用几乎相同,都是根据起始索引返回截取得到的字符串。经过查阅资料和实测得到区别:

  正常情况下索引都为正值,返回值为其实索引之间的字符串,包括起始,不包括结束索引,即  [起始索引,结束索引)

    刚开始我以为索引为负值的情况下从尾部算起,倒数第一个字符为0,倒数第二个字符为-1,实际测试发现是错误的,需要注意。

    slice()方法里的索引可以为负数,负数表示从尾部算起,倒数第一个字符为索引为-1,以此往前为-2,-3类推,起始索合结束索引都可以随意使用正数和负数,不管用正数还是负数必须保证起始索引对应的字符在结束索引对应的字符之前,否则返回的是空值。负数的用处:我想到的用处就是当字符串较长时,正数数过来不太方便时,或者需求需要倒过来遍历时,可以根据情况使用负索引比较方便。slice()方法规定了第一个索引为起始索引,第二个为结束索引。

  

var str = "0123456789a"    //索引为0-10        或者说为-11到-1

        var x = str.slice(-11,-1)    //
var y = str.slice(-1,11); //a
var z = str.slice(-2,-4); //空值
var i = str.slice(0,-3); //

  substring()方法取start和end中较小的值为start,二者相等返回空字符串,任何一个参数为负数被替换为0(即该值会成为start参数)。

     var x = str.substring(0,3);    //
var y = str.substring(3,0); //
var z = str.substring(3,3); //空
var i = str.substring(-4,3); //012,-4被替换成了0
var j = str.substring(3,-5); //012,-5被替换成了0

2..substr()这个截取方法则有明显区别,这个方法的参数是起始索引和长度,起始索引也可以为负索引。长度为0或者负值时返回值为空值。

3..search()、.match()、.indexOf()之间的区别

  .match()返回与正则匹配的字符串

  .search()返回与正则匹配的索引

  .indexOf()返回与指定子字符串匹配的第一次出现的索引

  .search()与.indexOf()区别:内部参数不同,search里是可以使字符串也可以是正则,indexOf里只能是字符串,对于简单的字符串查找都可以使用,对于复杂的正则查找只能用search。indexOf()比search()消耗资源更少效率更高。

  

几种String对象方法的区别的更多相关文章

  1. PowerShell String对象方法 1

    PowerShell String对象方法 1 8 6月, 2013  在 Powershell tagged 字符串 / 对象 / 文本 by Mooser Lee 从之前的章节中,我们知道Powe ...

  2. JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法

    JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...

  3. JavaScript String 对象方法

    String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() ...

  4. 转:GET和POST两种基本请求方法的区别

    原文地址:GET和POST两种基本请求方法的区别 原文如下: GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL ...

  5. 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题

    1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. ...

  6. javascript中string对象方法中的slice、substring、substr的区别联系

    1.slice.substring.snustr均属于String的对象方法,用于截取或提取字符串片段,三者均布破坏原先的字符串,而是以新的字符串返回被提取的部分. <script> va ...

  7. Cesium 中两种添加 model 方法的区别

    概述 Cesium 中包含两种添加 model 的方法,分别为: 通过 viewer.entities.add() 函数添加 通过 viewer.scene.primitives.add() 函数添加 ...

  8. javascript string对象方法总结

    1.anchor() 用于创建html锚,也就是a标签,()中可以带参数,是a标签的name属性值. var string="hello world"; document.writ ...

  9. String对象方法扩展

    /** *字符串-格式化 */ String.prototype.format = function(){ var args = arguments;//获取函数传递参数数组,以便在replace回调 ...

随机推荐

  1. Android 开发 框架系列 glide-transformations 图片处理基本使用

    首先简单的介绍一下Gilde作用范围.Gilde功能十分强大,它可以实现图片处理.图片本地加载.图片网络加载.位图加载.图片内存缓存.图片磁盘缓存.Gif图片加载.使用简单轻松,轻松的后是它强大的心, ...

  2. mysql 表映射为java bean 手动生成。

    在日常工作中,一般是先建表.后建类.当然也有先UML构建类与类的层级关系,直接生成表.(建模)这里只针对先有表后有类的情况.不采用代码生成器的情况. 例如: 原表结构: ),)) BEGIN ); ) ...

  3. linux安装jdk8

    1.文件准备 jdk-8u201-linux-x64.tar.gz 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  4. Django之前后端交互使用ajax的方式

    1. 在项目中前后端数据相互是一种常态, 前后端交互使用的是ajax请求和form表单的请求两种方式" ajax与form表单的区别在于: form 是整个页面刷新提交的,  但是ajax ...

  5. c/c++ 整数除预算保留小数

    两个整数相除会自动省略小数点后的小数位即使下面这种: int a,int b; int a = 4; int b = 3; double d = a/b; d= 1.0000000; -------- ...

  6. 【FZSZ2017暑假提高组Day1】华容道游戏

    [问题描述] 华容道是一种有趣的滑块游戏,大概是下面这个样子的. 游戏局面由一个2*2的曹操滑块,五个2*1的蜀将滑块(横竖是不定的).四个1*1的小兵滑块以及两个空的位置构成,玩家需要利用空的位子移 ...

  7. docker 部署tomcat

    使用Docker搭建Tomcat运行环境 1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS ...

  8. MySQL慢查询日志相关的配置和使用。

    MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可 ...

  9. e1000

    http://blog.csdn.net/sdulibh/article/details/41826221 http://blog.csdn.net/evenness/article/details/ ...

  10. centos7下面添加htop工具

    htop下载wget http://sourceforge.net/projects/htop/files/latest/download 解压tar -zxf downloadcd htop-1.0 ...