编程语言
878
简单使用
String
用来生成字符串对象。
var s1 = 'abc'; // string var s2 = new String('abc'); //object
字符串对象是一个类似数组的对象(不是数组)
new String('abc') // String {0: "a", 1: "b", 2: "c", length: 3} (new String('abc'))[1] // "b"
字符串对象,有数值键(0
、1
、2
)和length
属性,可以像数组一样取值。
String
对象还可以当作方法使用,将任意类型的值转为字符串。
String(true) // "true" String(5) // "5"
方法
String.prototype.charAt()
charAt
方法返回指定位置的字符,参数是从0
开始编号的位置。
var s = new String('abc'); s.charAt(1) // "b" s.charAt(s.length - 1) // "c"
可以用数组下标替代。
'abc'.charAt(1) // "b" 'abc'[1] // "b"
若参数为负数, 大于等于字符串长度,则返回空字符串。
'abc'.charAt(-1) // "" 'abc'.charAt(3) // ""
String.prototype.concat()
concat
方法用于连接两个字符串,返回新字符串
var s1 = 'abc'; var s2 = 'def'; s1.concat(s2) // "abcdef" s1 // "abc"
该方法可以接受多个参数。
'a'.concat('b', 'c') // "abc"
如果参数不是字符串,concat
方法会将其先转为字符串,然后再连接。
''.concat(1, 2, '3') // "123"
String.prototype.slice()
`用于从原字符串取出子字符串并返回
'JavaScript'.slice(0, 4) // "Java" 'JavaScript'.slice(4) // "Script" 省略第二个参数,则子字符串一直到原字符串结束 'JavaScript'.slice(-6) // "Script" 负值表示结尾开始计位,即该负值加上字符串长度 'JavaScript'.slice(0, -6) // "Java" 'JavaScript'.slice(-2, -1) // "p" 'JavaScript'.slice(2, 1) // "" 正数情况下第一个参数大于第二个参数返回空字符串
String.prototype.search(),String.prototype.replace()
search
方法返回值为匹配的第一个位置。如果没有找到匹配,则返回-1
search
方法还可以使用正则表达式作为参数
'cat, bat, sat, fat'.search('at') // 1
replace
方法用于替换匹配的子字符串,一般情况下只替换第一个匹配
replace
同样也可以使用正则表达式作为参数
'aaa'.replace('a', 'b') // "baa"