本文介绍一下JavaScript中的字符串对象
#### 创建字符串
```
var str = new String("我爱我的祖国");
var str = "我爱我的祖国"
var str ='我爱我的祖国'
```
- 特点:双引号字符串可以包含单引号,单引号里面可以包含双引号
- 注意:用new创建的两个字符串即使值一样也不相等
#### 字符串搜索
1.indexOf()方法
- indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。
- indexOf()方法有两个参数,第一个参数规定需检索的字符串值,必需。
第二个参数规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索,可选。
```
var str = '我是字符串';
str.indexOf(“字符”); // 2
str.indexOf('字符',3); // -1
```
2.lastIndexOf() 方法
- lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
```
var str = 'hello world';
console.log(str.lastIndexOf('l')); // 1
```
- 注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。
开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。
#### charAt() 方法
- charAt() 方法返回下标对应的字符串
```
var str = 'hello';
console.log(str.charAt(2)); // l
```
#### replace() 方法
- replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
```
var str = 'hello world';
var str2 = str.replace('world','china');
console.log(str2) // hello china
```
#### length属性返回字符串的长度
#### 字符串截取
1.substring()
- substring() 方法用于提取字符串中介于两个指定下标之间的字符。
- substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
- substring() 方法有两个参数,第一个参数是一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置,必需。
第二个参数是一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1,可选。
```
var str="Hello world!";
document.write(str.substring(3)+"
"); // lo world!
document.write(str.substring(3,7)); // lo w
```
2.substr()
- substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
- substr() 方法有两个参数,第一个参数是要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。必需。
第二个参数是子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串,可选。
```
var str="Hello world!";
var n=str.substr(2); // llo world!
```