摘要:JavaScript中的String对象总结
String对象
字符串的包装对象是一个类似数组的对象
1 | new String("abc") // String {0: "a", 1: "b", 2: "c", length: 3, [[PrimitiveValue]]: "abc"} |
String.fromCharCode是String对象提供的静态方法,其参数是一系列Unicode码点(不能大于0xFFFF),返回对应的字符串
1 | String.fromCharCode(104, 101, 108, 108, 111) // "hello" |
实例对象的属性和方法
字符串的方法一般不会修改原始字符串
1.length属性返回字符串长度
2.charAt方法返回指定位置的字符,参数是从0开始编号的位置。该方法完全可以用数组下标替代,如果参数为负数,或大于等于字符串的长度,charAt返回空字符串
1 | 'abc'.charAt(1) // "b" |
3.charCodeAt方法返回给定位置字符的 Unicode 码点(十进制),相当于 String.fromCharCode 的逆操作
1 | 'hello'.charCodeAt(0) // 104 |
4.concat 方法用于连接两个或多个字符串,返回一个新字符串。如果参数不是字符串,concat 方法会将其先转为字符串,然后再连接
1 | var string1 = 'abc'; |
5.slice 方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是索引起始位置,第二个参数是结束位置(不含该位置);如果参数是负值,该负值加上字符串长度;如果第一个参数大于第二个参数,返回一个空字符串
1 | var str = 'hello world'; |
6.substring 方法作用与slice相同,第一个参数表示索引起始位置,第二个表示结束位置(不包含);如果参数是负数,自动将负数转为0;如果第二个参数大于第一个参数,自动交换两个参数的位置(前小后大)
1 | str.substring(1); // "ello world" |
7.substr 方法从原字符串取出子字符串并返回,第一个参数表示索引起始位置,第二个参数是子字符串的长度。如果第一个参数为负值,加上字符串长度表示起始索引;如果第二个参数是负数,将被自动转为0,取0个就返回空字符串
1 | str.substr(1); // "ello world" |
8.trim 方法用于去除字符串两端的空格(还包括制表符\t、\v、换行符\n和回车符\r),返回一个新字符串
1 | var str = ' hello world '; |
9.indexOf 方法用于确定一个字符串在另一个字符串中的位置,返回匹配开始的索引位置。第二个参数可选,表示从该位置开始向后匹配。如果未匹配到,返回-1。lastIndexOf 与 indexOf 作用相似,但顺序是从后往前查找
1 | str.indexOf('o'); // 4 |
10.toLowerCase 方法用于将一个字符串全部转为小写,toUpperCase 则是全部转为大写。通过 call 方法也可以将布尔值或数组转为大写字符串
1 | var STR = str.toUpperCase(); // "HELLO WORLD" |
11.localeCompare 方法用于比较两个字符串。它返回一个整数,如果小于0,表示第一个字符串小于第二个字符串;如果等于0,表示两者相等;如果大于0,表示第一个字符串大于第二个字符串。该方法采用底层操作系统提供的本地排序规则
1 | 'str'.localeCompare('rst'); // 1 |
12.match 方法用于匹配是否含某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有,返回null。返回数组还有index属性和input属性,分别表示匹配字符串开始的位置和原始字符串
1 | str.match('xiao'); // null |
13.search 方法用于匹配是否含某个子字符串返回值为匹配的第一个位置。如果没有找到匹配,则返回-1
1 | str.search('xiao'); // -1 |
14.replace 方法用于替换匹配的子字符串,默认只替换第一个
1 | str.replace('wo', 'ni'); // "hello nirld" |
15.split 方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组;如果省略参数,则返回数组的唯一成员就是原字符串;如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符;split方法还可以接受第二个参数,限定返回数组的最大成员数
1 | var str = '-a-b-c-'; |