字符串

字符串

概述

String对象是JavaScript原生提供的三个包装对象之一,用来生成字符串的包装对象实例。

var s = new String("abc");

typeof s // "object"
s.valueOf() // "abc"

上面代码生成的变量s,就是String对象的实例,类型为对象,值为原来的字符串。实际上,String对象的实例是一个类似数组的对象。

除了用作构造函数,String还可以当作工具方法使用,将任意类型的值转为字符串。

String(true) // "true"
String(5) // "5"

属性

length:返回字符串长度

"abc".length

// 3

方法

1. charAt

返回一个字符串的给定索引位置的字符

var s = new String("abc");

s.charAt(1) // "b"

可以用数组下标替代

s[1] // b

2. concat

连接两个字符串。原字符串不受影响,返回一个新字符串

var s1 = 'abc';
var s2 = 'def';

s1.concat(s2) // "abcdef"
s1 // "abc"

3. substring

用法类似数组slice,第一个参数表示子字符串的开始位置,第二个位置表示结束位置,第二个位置所在的子字符串不会被提取。第一个参数大于第二个参数时,会自动更换两个参数的位置。不会改变原字符串

var a = 'The Three Musketeers';

a.substring(4, 9) // 'Three'
a.substring(9, 4) // 'Three'

4. substr

第一个参数是子字符串的开始位置,第二个参数是子字符串的长度。不会改变原字符串

var b = 'The Three Musketeers';

b.substr(4, 9) // 'Three Mus'
b.substr(9, 4) // ' Mus'

5. slice

第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置。与substring方法不同的是,如果第一个参数大于第二个参数,slice方法并不会自动调换参数位置,而是返回一个空字符串。不会改变原字符串

var c = 'The Three Musketeers';

c.slice(4, 9) // 'Three'
c.slice(9, 4) // ''

6. indexOf 和 lastIndexOf

返回某个指定的子字符串在原字符串中首次出现的位置。indexOf是从头开始匹配,lastIndexOf是从末尾匹配(即最后一次出现的位置)。返回值为-1时,代表原字符串中没有该指定的子字符串。

"hello world".indexOf("o") // 4
"hello world".lastIndexOf("o")// 7

7. trim

去除字符串两端的空格。返回一个新字符串,不改变原字符串。

8. toLowerCase 和 toUpperCase

大小写转换

"Hello World".toLowerCase()
// "hello world"

"Hello World".toUpperCase()
// "HELLO WORLD"
原文地址:https://www.cnblogs.com/justsilky/p/6886595.html