关于字符串中的一些细节知识。 在JS中所有用单引号或者双引号包起来的都是字符串,每一个字符串是由零到多个字符组成的 字符串中的每一个字符都有一个自己对应位置的索引, 也有类似数组一样的length代表自己的长度 常用方法 字符串是基本数据类型,字符串的每一次操作都是值直接的进行操作, 不像数组一样是基于空间地址来操作的,所以不存在原有字符串是否改变这一说,都是不变的 !!charAt/charCodeAt 作用:chartAt 根据索引获取指定位置的字符, charCodeAt 不仅仅获取字符,它获取的是字符对应的Unicode编码值(ASC ll码值)10进制 参数:索引 返回:字符或者对应的编码 chartCodeAt 返回的是字符对应的编码 fromCharCode 返回的是编码对应的字符 和直接操作索引获取方式的区别: 1.当索引不存在的时候,str[x]获取的结果是undefined 运行机制是一样的,而charAt(x)获取的结果是空字符串 !!indexOf / lastIndexOf 基于这两个方法,可以获取字符串在字符串中第一次或者最后一次出现位置的索引, 有这个字符,返回大于等于零的索引,不包含这个字符,返回的结果是-1,所以可以 基于这两种方法,验证当前字符串中是否包含某个字符。 !!slice 作用:str.slice(n,m)从索引n开始找到索引M处(不包含M),把找到的字符当作字符串返回 和数组中的slice操作是一样的 1.不屑m是查找字符串的末尾 2,n/m都写是字符串的克隆 3.支持负数索引,用字符串的总长度+负数索引做运算 !!substring 和slice语法一样,唯一的区别在于:slice 支持负数索引,而substring不支持负数索引 !!substr 也是字符串街区的方法,用法是: str.substr(n,m)从索引n开始截取m个字符 m是截取的个数 和substring 一样,第二个参数不传。截取到末尾,但是它支持第一个索引为负数,负数也是总长度+负数索引 !!toUpperCase/toLowerCase 实现字母的大小写转换 toUpperCase 小写转大写 toLowerCase 大写转小写 !!split 和数组中的join 相对应,数组中的join是吧数组每一项按照指定的连接符变为字符串,而split是把字符串按照指定的分隔符 拆分成数组中的每一项
!!split
和数组中的join 相对应,数组中的join是吧数组每一项按照指定的连接符变为字符串,而split是把字符串按照指定的分隔符
拆分成数组中的每一项
var str="12+23+32";
str.split('+');
["12","23","32"]
!! replace 作用:替换字符串中的原有字符 参数:原有字符,要替换新字符 返回:替换后的字符串
replace
var str = 'xixi2019xixi2018';
str = str.replace('xixi','西西');
=>在不使用正则的情况下,没执行一次replace只能替换一个‘西西2019xixi2018’