几种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回调 ...
随机推荐
- hadoop2.6.4集群笔记
---恢复内容开始--- 一,linux下的准备工作 1,修改主机名: vi /etc/sysconfig/network 2,修改ip vi /etc/sysconfig/network-scrip ...
- #161: 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件
试题描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件. 你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件. "改变 ...
- Oracle创建pfile spfile 文件及其恢复
1.Oralce在启动实例的时读取$ORACLE_HOME/dbs下面的初始化文件.初始化文件分为:A.静态参数文件PFILE,一般名为initSID.oraB.永久参数文件SPFILE,一般名为sp ...
- hive 表锁和解锁
场景: 在执行insert into或insert overwrite任务时,中途手动将程序停掉,会出现卡死情况(无法提交MapReduce),只能执行查询操作,而drop insert操作均不可操作 ...
- centos7使用rpm方式安装mysql
https://blog.csdn.net/smiles13/article/details/81460617 (部分参考) 先查看是否安装mariadb rpm -qa | grep mari ...
- cfile fopen fopen_s win10下打开文件失败
vc程序在win10下面使用fopen 打开文件失败,在网上查 了下是因为UAC权限的问题如下: 由于windows vista win7 win8 win 10 添加了UAC权限,所以会导致 在系统 ...
- java List<Map<String,Object>
xml <select id="selectShopList" resultType="java.util.HashMap"> SELECT p.P ...
- source tree图谱
参考: https://www.jianshu.com/p/0e64ad60899e
- ODPS SQL <for 数据操作语言DML>
基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...
- 【原】The Linux Command Line - Redirection
● cat - Concatenate files● sort - Sort lines of text● uniq - Report or omit repeated lines● grep - P ...