字符串
replace
方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
字符 | 替换文本 |
---|---|
$1、$2、…、$99 | 与 regexp 中的第n个子表达式相匹配的文本 |
$& | 与 regexp 相匹配的子串 |
$` | 位于匹配子串左侧的文本 |
$’ | 位于匹配子串右侧的文本 |
$$ | 直接量符号 |
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。
slice
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
slice(start, end)
参数 | 描述 |
---|---|
start | 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 |
end | 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。 |
subStr
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符,返回新的字符串。
subStr(start, length)
参数 | 描述 |
---|---|
start | 与slice一致 |
length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
subString
substring() 方法用于提取字符串中介于两个指定下标之间的字符。返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
subString(start, stop) start与stop皆为非负数
split
split() 方法用于把一个字符串分割成字符串数组。
参数 | 描述 |
---|---|
separator | 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。 |
howmany | 可选。该参数可指定返回的数组的最大长度。 |
数组
concat
concat用于连接两个数组,返回一个新的副本。如果需要将b数组连接到a后面,使用a.push.apply(a,b)。这里最好将短数组连接到长数组后面。
join
join() 方法用于把数组中的所有元素放入一个字符串,通过指定分隔符分割。如果用逗号分割,则与toString()返回的结果一致。
slice
array.slice(start, end) 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。start与end可为负数。
splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。会修改原数组。
arrayObject.splice(index,howmany,item1,…,itemX)
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, …, itemX | 可选。向数组添加的新项目。 |
push-pop unshift-shift
增加-删除元素
其他
parseInt
parseInt(string, radix);
- 若string不是字符串,则将其转换为字符串再解析;
- 果radix不是数值,会被自动转为一个整数。这个整数只有在2到36之间,才能得到有意义的结果,超出这个范围,则返回NaN。如果第二个参数是0、undefined和null则直接忽略;
- 两个参数都存在的情况下,以radix为基数解数数析string;
- 如果字符串包含对于指定进制无意义的字符,则返回NaN;
- 第二个参数radix省略时,默认为10进制解析,以0x开头时以16进制解析。以0开头时ES5规定按照10进制解析;
注意:
parseInt(011) //9
parseInt(011,2) //NaN 011转换成string是9,而9对于二进制是非法字符
parseInt("011") //11,目前chrome、firefox、ie中的结果都是11,若想用8进制解析,请加上第二个参数
toString()与toLocaleString()
toLocaleString()是使用的本地格式,在array、boolean、string中两者没有区别;
Date.toString() //"Wed Feb 15 2017 11:21:31 GMT+0800 (CST)"
Date.toLocaleString() //"2017/2/15 上午11:21:31"
const num = Number(1111);
num.toString() //"1111"
num.toLocaleString() //"1,111"
toString()是返回的唯一值,不会根据环境的变化而变化。
encodeURI与encodeURIComponent
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?😡&=+$,#
如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。