几种String对象方法的区别
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对象方法的区别的更多相关文章
- PowerShell String对象方法 1
PowerShell String对象方法 1 8 6月, 2013 在 Powershell tagged 字符串 / 对象 / 文本 by Mooser Lee 从之前的章节中,我们知道Powe ...
- JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...
- JavaScript String 对象方法
String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() ...
- 转:GET和POST两种基本请求方法的区别
原文地址:GET和POST两种基本请求方法的区别 原文如下: GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL ...
- 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题
1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. ...
- javascript中string对象方法中的slice、substring、substr的区别联系
1.slice.substring.snustr均属于String的对象方法,用于截取或提取字符串片段,三者均布破坏原先的字符串,而是以新的字符串返回被提取的部分. <script> va ...
- Cesium 中两种添加 model 方法的区别
概述 Cesium 中包含两种添加 model 的方法,分别为: 通过 viewer.entities.add() 函数添加 通过 viewer.scene.primitives.add() 函数添加 ...
- javascript string对象方法总结
1.anchor() 用于创建html锚,也就是a标签,()中可以带参数,是a标签的name属性值. var string="hello world"; document.writ ...
- String对象方法扩展
/** *字符串-格式化 */ String.prototype.format = function(){ var args = arguments;//获取函数传递参数数组,以便在replace回调 ...
随机推荐
- 性能监控工具以及java堆分析OOM
一.性能监控工具 1.系统性能监控 Linux -确定系统运行的整体状态,基本定位问题所在 -uptime: ------系统时间 ------运行时间(例子中为127天) ------连接数(每 ...
- exchang2010OWA主界面添加修改密码选项
原文链接:http://www.mamicode.com/info-detail-1444660.html exchange邮箱用户可以登录OWA修改密码,当AD用户密码过期或者重置密码勾选了“用户下 ...
- 学习笔记:ECharts
(Highcharts 167K: ECharts 354K: jqChart 240K),如果用于网络,Highchart最小 ECharts (Enterprise Charts 商业产品图表库 ...
- git自定义项目钩子和全局钩子
钩子介绍 自定义钩子分为:项目钩子和全局钩子 自定义全局钩子: 全局钩子目录结构: (注意:excludes目录结构是我们自定义的目录,规则逻辑在update.d/update.py脚本里实现的,非g ...
- 去BAT,你应该要看一看的面试经验总结(转)
来源微信公众号『easyserverdev』 http://mp.weixin.qq.com/s/UZljzFMjobo1wzCguY7NDg 说下我的面试经验吧,都是亲身经历,不喜勿喷: 我去年12 ...
- JavaScript: For , For/in , For/of
For: define: The for statement can customize how many times you want to execute code Grammar: for (c ...
- java中封装类(二)
java中的数字类型包括 Byte,Short,Integer,Long,Float,Double.其中前四个是整数,后两个是浮点数. 在说java中数字类型之前先来看看它们统一的基类Number. ...
- PowerDesign生成数据库
最近要忙期考,但还是决定每天抽点空来写CodeSmith的系列文章了,在此实在不敢用教程这个词语,毕竟自己对CodeSmith了解的也不是很多,有很多牛人都在博客园发布了不少关于CodeSmith的文 ...
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
--------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...
- Object.create() vs new SomeFunction() in javascript
Object.create builds an object that inherits directly from the one passed as its first argument. Wit ...