字符串就是用单/双引号包裹起来的字符
var str = 'i love javascript';
有length属性表示长度,以数组为索引,从0开始,str[index],若指定索引不存在,获取结果是undefined,与数组类似
字符串的方法
charAt && charCodeAt
str.charAt(index) :返回指定索引位置的字符,与中括号方式的区别在于若若指定索引不存在,返回空字符串
str.charCodeAt(index):在charAt基础上,把获取的字符转为Unicode编码值(对应ASCII码表)
48~57:0-9
65~90:A-Z
97~122:a-z
...
String.fromCharCode
:和charCodeAt对应,把ASCII码表中的值转为原有的字符
substr && substring && slice
实现字符串截取的三个方法
str.substr(n,m):从索引n开始,截取m个字符
str.substring(n,m):从索引开始,截取索引到m(不包含m)处的字符
str.slice(n,m):同上,但支持负数索引,索引为负数时,会给它加上字符串的长度再进行操作
1、若只传递n,相当于从索引n一直截取到字符串的末尾
2、若传入的索引超出最大限制,会截取到最大能截取到的地方
3、若不传,把整个字符串截取(字符串的克隆)
4、若m小于n,substring会默认从小的开始到大的结束,slice会返回空字符串
toLowerCase/toUpperCase
分别把全部字符小/大写
indexOf/lastIndexOf
获取当前字符在字符串中第(最后)一次出现位置的索引,若没有返回-1
split
根据传入的字符把整个字符串拆分成数组中的某一项
若字符串中没有传入的字符,则会把整个字符串当作数组的第一项返回
参数支持正则
参数传空字符会把每个字符都拆分
不传参数不会拆
replace
字符替换
执行一次replace只能替换一次,若有多处需要替换的内容,则需执行多次,但有正则结合就不用执行多次,
有两个参数,第一个参数可以是一个字符串或者正则表达式,表示要被替换的内容,第二个参数是字符串或者函数,表示要替换的内容
该函数有三个参数,第一个参数表示正则匹配到的内容,第二个参数是匹配到的位置,最后一个参数是原字符串(若正则内有分组,则参数个数根据分组确定,最后一个始终是原字符串,倒数第二个是位置,但中间的就是各个分组)。
trim && trimLeft && trimRight
:并不是所有浏览器都兼容left和right
trim:去除字符串首尾空格
trimLeft:去除字符串左边空格
trimRight:去除字符串右边空格
网友评论