| 概述
1.1 含义
String对象是JavaScript原生提供的三个包装对象之一,用来生成字符串对象
1.2 特点
String对象是一个类似数组的对象
| 属性与方法
一)实例属性
- String.prototype.length
- 字符串实例的length属性返回字符串的长度
二)静态方法
- String.fromCharCode(xxx,xxx,…)
- 静态方法:定义在对象本身【构造函数上】,而不是定义在对象实例【构造函数的原型】的方法 - 将传入的参数码点组成对应的 Unicode 字符串串返回 - String.fromCharCode(104, 101, 108, 108, 111) // "hello"
- String.fromCodePoint()
三)实例方法
-
String.prototype.charAt()
-
String.prototype.charCodeAt
-
String.prototype.concat()
- 合并字符串
- 返回新字符串,不改变原字符串
- 多个参数
- 出现数值类型时,注意与+号的区别
-
String.prototype.slice()
- 截取字符串
- 返回新字符串,不改变原字符串
- 两个参数 第一个是子符串的开始位置,第二个是结束位置(不包含结束)
1. 不传第二个参数,则从当前下标位置,截取到最后 2. 如果第一个为负,则表示从尾开始数,截取到最后 3. 第一个参数不能大于第二个参数,否则返回“”
-
String.prototype.substring() 【不建议使用】
- 截取字符串
- 返回新字符串,不改变原字符串
- 两个参数,规则同slice,除第3点,第一个参数大于第二个参数,则自动调换两者位置
-
String.prototype.substr() 【作用同slice,substring】
- 截取字符串
- 返回新字符串,不改变原字符串
- 两个参数,第一个是开始位置,第二个是截取长度
1. 两个参数均不传,则返回原来的字符串 2. 省略第二个参数,则从当前下标位置,截取到最后 3. 如果第一个为负,则表示从尾开始数,截取到最后 4. 第一个参数不能大于第二个参数,否则返回“”
-
String.prototype.indexOf()、String.prototype.lastIndexOf()
- 查找字符串
- 两个参数
1. 不传第二个参数 用于确定一个字符串在另一个字符串中第一次出现的位置返回结果是匹配开始的下标。如果返回-1,就表示不匹配。 【indexOf从头开始匹配,lastIndexOf从尾】 2. 传第二个参数,表示从该位置开始向后匹配
-
String.prototype.trim()
- 去除字符串两端空格包括制表符【\t,\v】换行符和回车符【\n,\r】
- 返回新字符串,不改变原字符串
-
String.prototype.toLowerCase(),String.prototype.toUpperCase()
-
String.prototype.match()
- 确定原字符串是否匹配某个子字符串
- 返回一个数组,成员为匹配的第一个字符串。
- 如果没有找到匹配,则返回null。
- 返回的数组还有index属性和input属性,分别表示匹配字符串开始的位置和原始字符串。
'cat, bat, sat, fat'.match('at') // ["at"] var matches = 'cat, bat, sat, fat'.match('at'); matches.index // 1 matches.input // "cat, bat, sat, fat"
- 可以使用正则表达式为参数【常用】
- 确定原字符串是否匹配某个子字符串
-
String.prototype.search()
- 查找字符串
- 返回值为匹配的第一个位置的下标。如果没有找到匹配,则返回-1。
- 可以使用正则表达式为参数【常用】
-
String.prototype.replace()
- 查找并替换
- 返回新字符串,不改变原字符串
- 一般情况只替换第一个匹配,除非带有 g 修饰符的正则
- 可以使用正则表达式为参数【常用】
-
String.prototype.split()
- 分割字符串
- 返回分割后组成的新数组,不改变原字符串
- 二个参数 第一个为分割符,第二个为返回数组的最大成员数
1. 省略参数,则返回数组,唯一的成员为原字符串 2. 省略第二个,则返回所有成员
- 可以使用正则表达式为参数【常用】
-
String.prototype.localeCompare()
- 比较两个字符串
- 二个参数 第一个 比较对象 ,第二个 使用的语言
返回一个整数 1. 如果小于0,表示第一个字符串小于第二个字符串; 2. 如果等于0,表示两者相等; 3. 如果大于0,表示第一个字符串大于第二个字符串。 举例: 'apple'.localeCompare('banana') // -1 'apple'.localeCompare('apple') // 0 举例: 'B' > 'a' // false 'B'.localeCompare('a') // 1 大写要大于小写