JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别
String 对象属性
|
属性 |
描述 |
|
constructor |
对创建该对象的函数的引用 |
|
字符串的长度 |
|
|
prototype |
允许您向对象添加属性和方法 |
String 对象方法
|
方法 |
描述 |
|
创建 HTML 锚。 |
|
|
用大号字体显示字符串。 |
|
|
显示闪动字符串。 |
|
|
使用粗体显示字符串。 |
|
|
返回在指定位置的字符。 |
|
|
返回在指定的位置的字符的 Unicode 编码。 |
|
|
连接字符串。 |
|
|
以打字机文本显示字符串。 |
|
|
使用指定的颜色来显示字符串。 |
|
|
使用指定的尺寸来显示字符串。 |
|
|
从字符编码创建一个字符串。 |
|
|
检索字符串。 |
|
|
使用斜体显示字符串。 |
|
|
从后向前搜索字符串。 |
|
|
将字符串显示为链接。 |
|
|
用本地特定的顺序来比较两个字符串。 |
|
|
找到一个或多个正则表达式的匹配。 |
|
|
替换与正则表达式匹配的子串。 |
|
|
检索与正则表达式相匹配的值。 |
|
|
提取字符串的片断,并在新的字符串中返回被提取的部分。 |
|
|
使用小字号来显示字符串。 |
|
|
把字符串分割为字符串数组。 |
|
|
使用删除线来显示字符串。 |
|
|
把字符串显示为下标。 |
|
|
从起始索引号提取字符串中指定数目的字符。 |
|
|
提取字符串中两个指定的索引号之间的字符。 |
|
|
把字符串显示为上标。 |
|
|
把字符串转换为小写。 |
|
|
把字符串转换为大写。 |
|
|
把字符串转换为小写。 |
|
|
把字符串转换为大写。 |
|
|
toSource() |
代表对象的源代码。 |
|
返回字符串。 |
|
|
返回某个字符串对象的原始值。 |
Array 对象属性
|
属性 |
描述 |
|
返回对创建此对象的数组函数的引用。 |
|
|
设置或返回数组中元素的数目。 |
|
|
使您有能力向对象添加属性和方法。 |
Array 对象方法
|
方法 |
描述 |
|
连接两个或更多的数组,并返回结果。 |
|
|
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
|
|
删除并返回数组的最后一个元素 |
|
|
向数组的末尾添加一个或更多元素,并返回新的长度。 |
|
|
颠倒数组中元素的顺序。 |
|
|
删除并返回数组的第一个元素 |
|
|
从某个已有的数组返回选定的元素 |
|
|
对数组的元素进行排序 |
|
|
删除元素,并向数组添加新元素。 |
|
|
返回该对象的源代码。 |
|
|
把数组转换为字符串,并返回结果。 |
|
|
把数组转换为本地数组,并返回结果。 |
|
|
向数组的开头添加一个或更多元素,并返回新的长度。 |
|
|
返回数组对象的原始值 |
一、substring,substr和slice比较
1.substring
substring() 方法用于提取字符串中介于两个指定下标from和to之间的字符,返回的子串包括 开始 处的字符,但不包括 结束 处的字符。。
语法:string.substring(from, to)
| 参数 | 描述 |
|---|---|
| from | 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。(负参数都直接转换为0) |
| to | 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
注意:
1.strvar.substring(from[, to])将返回一个包含从 from到to(不包含 to)的子字符串的字符串。
2.substring 方法使用 from和 to两者中的较小值作为子字符串的起始点。例如,
strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
3.如果 from或 to为 NaN 或者负数,那么将其替换为0。
4.子字符串的长度等于 from和 to之差的绝对值。例如,在 strvar.substring(0, 3) 和
strvar.substring(3, 0) 返回的子字符串的的长度是 3。
5.字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。
2.slice
slice(start, end) 方法可提取从start(包含) 到 end(不包含)字符串的某个部分,并以新的字符串返回被提取的部分。
语法:string.slice(start,end)
参数值
| 参数 | 描述 |
|---|---|
| start | 必须. 要抽取的片断的起始下标。第一个字符位置为 0 |
| end | 可选。 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置(=将此负数与字符串的长度相加得到的正向索引)。 |
返回值
| 类型 | 描述 |
|---|---|
| String | 提取的字符串 |
注意: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。=将此负数与字符串的长度相加得到的正向索引。
3.substr
substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
语法:string.substr(start,length)
参数值
| 参数 | 描述 |
|---|---|
| start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推(=将此负参数与字符串长度相加后的结果作为第一个参数)。 |
| length | 可选。子串中的字符数。必须是数值。如果 length 为 0 或负数,将返回一个空字符串;如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
返回值
| 类型 | 描述 |
|---|---|
| String | A new string containing the extracted part of the text |
注意:
1.stringvar.substr(start [, length ])的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
2.在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。ECMAscript 没有对该方法进行标准化,因此反对使用它。
3.substr() 方法不会改变源字符串。
总结不同点
1.第二个参数不同
2.当接收的索引参数是负数时:
slice会将它字符串的长度与对应的负数相加,结果作为参数;
substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;
substring则干脆将负参数都直接转换为0。
总结相同点
如果只是写一个参数,三者的作用都是一样的:截取字符串当前下标以后直到字符串最后的字符串片段。
二、slice和splice比较
1.slice语法
参数 Values
| 参数 | 描述 |
|---|---|
| start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
| end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
返回值
| Type | 描述 |
|---|---|
| Array | 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 |
2.splice语法
参数 Values
| 参数 | 描述 |
|---|---|
| index | 必需。规定从何处添加/删除元素。 该参数是开始插入和(或)删除的数组元素的下标,必须是数字。 |
| howmany | 必需。规定应该删除多少元素。必须是数字,但可以是 "0"。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。 |
| item1, ..., itemX | 可选。要添加到数组的新元素 |
返回值
| Type | 描述 |
|---|---|
| Array | 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。 |
JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别的更多相关文章
- js中数组去重的几种方法
js中数组去重的几种方法 1.遍历数组,一一比较,比较到相同的就删除后面的 function unique(arr){ ...
- JS中数组和字符串的方法大全
数组的方法很多,ECMScript5又提供了好几种方法.有空把之前的云上的笔记整理了一下,方便自己以后查找使用. 一.ECMScript 3的Array.prototype中定义的方法 1.join( ...
- JS中数组和字符串方法的简单整理
一.数组: 数组的基本方法: 1.增:arr.unshift() /push() 前增/后增 2.删:arr.shift() /pop ...
- js中数组、字符串、日期、数学API方法一览
以下内容摘选自 http://www.w3school.com.cn/jsref/jsref_obj_array.asp 点击方法新窗口打开详解 数组: 方法 描述 concat() 连接两个或更多的 ...
- js中数组的字符串表示
<html> <head> <title>数组的字符串表示</title> <script type="text/javascript& ...
- 【js中数组和字符串的相互转换】
一.数组转字符串 //数组转字符串 var a, b; a = new Array(0,1,2,3,4); b = a.join(","); //得到字符串 二.字符串转数组 // ...
- js中数组和字符串的方法总结
一.数组方法简单总结为以下几种 1.原有: 增.删.改.截.拼.复.排.转 2.ES5扩展: 查.遍历 增: 前增 ,,,,]; console.log(arr.unshift(,,[ console ...
- JS中数组与对象的遍历方法实例小结
一.数组的遍历: 首先定义一个数组 1 arr=['snow','bran','king','nightking']; 1.for循环,需要知道数组的长度; 2.foreach,没有返回值,可以不知道 ...
- js中数组遍历的几种方法及其区别
参考网站: http://www.cnblogs.com/lvmh/p/6104397.html 第一种最常用的:for循环 for(j = 0; j < arr.length; j++) { ...
随机推荐
- DSP5509项目之用FFT识别钢琴音调(5)之开始傅里叶变换
1. 首先电脑上下载一个音频模拟的软件 2. 研究下钢琴的声音范围27HZ到4000HZ,那么采样频率需要是信号的两倍频率以上,所以建议采样频率是16KHZ.先看一下采集到的数据,如下是空载时候采集到 ...
- 【Excel函数】如何在excle区分一列数字是否连续
需求:区分这批卡号,哪些在一个号段 数据源: 89860616090033685544898606160900336855518986061609003368556989860616090033685 ...
- equals和==方法比较(三)--Long中LongCache源码分析
下面我们来分析,上篇博客中遗留的问题,为什么下方的两个一个是true,两一个是false那? //true Long l1=123l; Long l2=123l; System.out.println ...
- Scrapy爬取美女图片第四集 突破反爬虫(上)
本周又和大家见面了,首先说一下我最近正在做和将要做的一些事情.(我的新书<Python爬虫开发与项目实战>出版了,大家可以看一下样章) 技术方面的事情:本次端午假期没有休息,正在使用fl ...
- 打造linux下的source insight——vim插件安装使用总结
source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...
- java excel导出(表头合并,多行表头)
@RequestMapping(value="orderExcelList2") public void orderExcelList2forJava(Order order,Ht ...
- Jenkins+git+Nginx
1.Jenkins 一.tomcat安装 1.下载JDK和Tomcat //通过wget下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomca ...
- CMDBuild2.4.3安装配置
参考文档: 官网:http://www.cmdbuild.org/en 参考:http://blog.csdn.net/shawn210/article/details/70230248 本文涉及CM ...
- cinder创建volume的流程-简单梳理
1. cinder-api接收到创建的请求,入口:cinder.api.v2.volumes.VolumeController#create,该方法主要负责一些参数的重新封装和校验,然后调用cinde ...
- 【C#】人脸识别 视频数据转图片数据
使用虹软人脸识别的开发过程中遇到了转换的问题 因为不会用C#直接打开摄像头,就只能用第三方dll.一开始用Aforge,后来发现有个问题,关闭摄像头老是陷入等待,所以抛弃了.前一阵子开始用封装了Ope ...