String那些事

str.charAt(),str.charCodeAt(index)比较

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。

方法可返回指定位置的字符(JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串)

str.indexOf(searchvalue||regexp),str.lastIndexOf(searchvalue||regexp),str.includes(searchvalue||regexp)比较

str.indexOf(),str.lastIndexOf()用于查找指定字符串片段在字符串中位置,如果是用于判断是否存在的话,使用includes效率更高

str.concat()、‘+’号、``模板字符串比较

concat()智能接收字符作为参数,str1.concat(str2,str3,...)后面参数不定,更适合于已知参数全部是字符串,且全部可以当成一个变量进行拼接

'+'号可以连接不同类型的值,适用于模板字符串个数不定的情况,比concat()适用范围更广

``模板字符串:在能支持es6的情况下,尽量使用该方法,语义化更强

str.slice(start,end)、substring(start,end)和substr(start,length)、str.split(separator,howmany)比较

slice()和substring()的第二个参数均表示的是裁剪的结束位置(含头不含尾),而substr()的第二个参数则表示的是裁剪下来字符串长度

当传入的参数为负值时,slice()会将所有负参数与字符串的长度相加,substring()会把所有负参数都转换为0,而substr()就相对比较复杂了,它会将第一个负参数加上字符串长度,第二个参数转换为0

slice见负加总长,substring见负则归零,substr一加总长一归零

slice()第一个参数须小于第二个参数才能正常截取字符串,否则返回的是空字符串,而substring()则没有这个问题

stringObject.split(),可指定返回的数组的最大长度

str.trim(),str.trimLeft(),str.trimRight(),str.replace(/\s+/g,"")比较

trim()去除字符串前后所有空格,不删除字符串中间空格

trimLeft()删除字符串左侧所有空格

trimRight()删除字符串右侧所有空格

str.replace(/\s+/g,"")去除字符串中所有空格

RegExpObject.test(string)、stringObject.match(searchvalue||regexp)、stringObject.replace(regexp/substr,replacement),stringObject.search(searchvalue||regexp)比较

test()用于检测一个字符串是否匹配某个正则表达式,查到即返回Boolean true,并停止查询

match(),可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

replace(),用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

search(),用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串

你可能感兴趣的:(es5)