js字符串String提取方法比较
JavaScript: Slice, Substring, or Substr的选择!
在JavaScript中,字符串主要通过以下String方法之一提取:
// slice
// syntax: string.slice(start [, stop])
"Good news, everyone!".slice(5,9);
// 'news'
// substring
// syntax: string.substring(start [, stop])
"Good news, everyone!".substring(5,9);
// 'news'
// substr
// syntax: string.substr(start [, length])
"Good news, everyone!".substr(5,4);
// 'news'
这三种方法都采用了开始索引和可选的结束索引(或长度)参数,但它们在某些重要方面有所不同:
substr可以给出不一致的结果。现代浏览器允许使用负数索引,但IE8和更低版本将负开始索引视为0。
substring的参数是可逆的,因为它总是使用其最小参数值作为开始索引,最大值作为结束索引。substring将负开始索引视为0。
slice如果开始索引为负,则从字符串末尾开始切片。
负数作为参数
"Good news, everyone!".substring(-4);
// "Good news, everyone!"
"Good news, everyone!".substr(-4);
// "one!" modern browsers, including IE9
// "Good news, everyone!" IE8 and lower
"Good news, everyone!".slice(-4);
// "one!"
由于所有三种方法都具有大致相同的性能,我的偏好是使用slice。它支持从字符串的末尾提取,我觉得在start index> stop 时返回一个空字符串更遵循常人思维,比substring的参数交换更好。我避免使用substr,因为浏览器不一致。
js字符串String提取方法比较的更多相关文章
- js字符串String常用方法
		
1. charAt() 返回指定位置的字符. str.charAt(index) index 为必须参数,类型为number(0到str.length-1之间,否则该方法返回 空串 ...
 - JS 字符串 String对象
		
charAt(index) 返回指定索引位置的字符 charCodeAt() 返回指定索引位置字符的 Unicode 值 indexOf(searchString, startIndex) 返回子字符 ...
 - (转)js:字符串(string)转json
		
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...
 - js:字符串(string)转json
		
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...
 - js扩展String.prototype.format字符串拼接的功能
		
1.题外话,有关概念理解:String.prototype 属性表示 String原型对象.所有 String 的实例都继承自 String.prototype. 任何String.prototype ...
 - JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)
		
①文本对象document: 例如:document.getElementById() 只获取一个对象 document.getElementsByTagName() 获取 ...
 - JS json对象(Object)和字符串(String)互转方法
		
[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 ...
 - js字符串格式化扩展方法
		
平时使用js的时候会遇到很多需要拼接字符串的时候,如果是遇到双引号和单引号混合使用,经常会搞混.在C#中有string.Format方法,使用起来非常方便,也很容易理解,所以找到一种参考C#的form ...
 - js实现String.Fomat
		
引言 拼接字符串用习惯了C#的String.Format.今天看别人的代码在js中也封装了一个js的String.Format,用来拼接字符串和DOM. js实现和调用String.Format St ...
 
随机推荐
- 【转】ret,retf,iret的区别
			
ret RET, and its exact synonym RETN, pop IP or EIP from the stack and transfer control to the new ad ...
 - Zara带你快速入门WPF(2)---布局篇
			
一.章节目标 这几章节我们会创建一个完整的Window程序,包括使用DataGrid空间,数据绑定是把.NET类中的数据提供给用户界面的一个重要概念,还允许修改数据,包括.NET4.5新增的INoti ...
 - @@ITENTITY
			
@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量.一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头.sele ...
 - 从jvm角度看懂类初始化、方法重写、重载。
			
类初始化 在讲类的初始化之前,我们先来大概了解一下类的声明周期.如下图 类的声明周期可以分为7个阶段,但今天我们只讲初始化阶段.我们我觉得出来使用和卸载阶段外,初始化阶段是最贴近我们平时学的,也是笔试 ...
 - 精读《react-easy-state 源码》
			
1. 引言 react-easy-state 是个比较有趣的库,利用 Proxy 创建了一个非常易用的全局数据流管理方式. import React from "react"; i ...
 - ubuntu 15.10 设置静态ip 分配固定ip 设置dns 设置网关 命令行配置ip 固定ip不生效怎么办
			
要用到的文件: 配置接口信息 /etc/network/interfaces 配置内容: auto eth0 iface eth0 inet static address 192.168.216.18 ...
 - Web工作方式:浏览网页的时候发生了什么?
			
原文地址:https://wizardforcel.gitbooks.io/build-web-application-with-golang/content/03.1.html 我们平时浏览网页的时 ...
 - 第62章 EntityFramework支持 - Identity Server 4 中文文档(v1.0.0)
			
为IdentityServer中的配置和操作数据扩展点提供了基于EntityFramework的实现.EntityFramework的使用允许任何EF支持的数据库与此库一起使用. 这个库的仓库位于这里 ...
 - C#线程同步--线程通信
			
问题抽象:当某个操作的执行必须依赖于另一个操作的完成时,需要有个机制来保证这种先后关系.线程通信方案:ManualResetEventSlim.ManualResetEvent.AutoResetEv ...
 - Jquery 强大的表单验证操作
			
参考资料: 1.https://www.cnblogs.com/linjiqin/p/3431835.html(此篇最佳) 2.https://blog.csdn.net/pengjunlee/art ...