常见且易混淆的 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
4. search()
语法
str.search(regexp)
返回值
如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1