常见且易混淆的 js 函数

一、String 对象方法

1.substring()

用法:提取字符串中介于两个指定下标之间的字符。

语法

stringObject.substring(start,stop)

返回值

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符。

说明

不接受负的参数

2.slice()

用法:提取字符串的某个部分,并以新的字符串返回被提取的部分。

语法

stringObject.slice(start,end)

返回值

一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

说明

可接受负的参数,数组也有该方法。

3.substr()(不推荐使用)

用法:可在字符串中抽取从 start 下标开始的指定数目的字符。

语法

stringObject.substr(start,length)

返回值https://browserleaks.com/canvas

一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符)处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

说明

ECMAscript 没有对该方法进行标准化,因此反对使用它。start 可为负值

二、Array 对象方法

1.slice()

用法:返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始对象不会被修改。

语法

Array.slice(begin, end)

返回值

一个含有提取元素的新数组

2.splice()

用法:向/从数组中添加/删除项目,然后返回被删除的项目。

语法

arrayObject.splice(index,howmany,item1,.....,itemX)

返回值

包含被删除项目的新数组,如果有的话。

说明

该方法会改变原始数组。

三、正则表达式对象方法

1. exec()

语法

regexObj.exec(str)

返回值

如果匹配成功,exec() 方法返回一个数组,并更新正则表达式对象的属性。返回的数组将完全匹配成功的文本作为第一项,将正则括号里匹配成功的作为数组填充到后面。 如果匹配失败,exec() 方法返回 null。

2. match()

语法

str.match(regexp)

返回值

如果使用 g 标志,则将返回与完整正则表达式匹配的所有结果(Array),但不会返回捕获组,或者未匹配 null。 如果未使用 g 标志,则仅返回第一个完整匹配及其相关的捕获组(Array)。 在这种情况下,返回的项目将具有如下所述的其他属性,或者未匹配 null。

说明

match()是字符串的方法,exec()是正则表达式对象的方法,如果前者正则表达式不包含 g标志,二者返回值相同

3. test()

语法

regexObj.test(str)

返回值

true or false

语法

str.search(regexp)

返回值

如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1

Table of Contents