一、字符串的概述
- 字符串也是一个数据结构(串),将同样的内容串在一块。因为在对应的js里面字符串属于一个值类型(值类型是常量 常量是不能变)
- 字符串是不能改变的。数据结构里面串也是一个存储结构,作为存储结构增删改查的方法(字符串的增删改查 不能针对于本身 而是返回一个新的字符串)
二、字符串的声明
1.基本类型(string类型)
var str = "abc"
2.引用类型(object类型)
var str=new String("abc")
基本字符串和字符串对象的区别
var x = "John";
var y = new String("John");
(x === y) // 结果为 false,因为 x 是字符串,y 是对象
JavaScript 会自动将基本字符串转换为字符串对象,只有将基本字符串转化为字符串对象之后才可以使用字符串对象的方法。(基本字符串是没有这些方法的)
三、字符串的属性
1.用length返回字符串的长度(包括空格及换行)
var str = 'a\nb'
console.log(str)
console.log(str.length)//3
打印如下:

2.通过下标来获取对应的字符串
//字符串的索引从零开始, 所以字符串第一字符为 [0],第二个字符为 [1]
var str = 'abc'
console.log(str[0]) //a
3.特殊字符
在 JavaScript 中,字符串写在单引号或双引号中。
因为这样,以下实例 JavaScript 无法解析:
"We are the so-called "Vikings" from the north."
字符串 "We are the so-called " 被截断。
转义字符 (\) 可以用于转义撇号,换行,引号,等其他特殊字符
四、字符串对象常用方法
1.charAt() 方法 可返回指定位置的字符。
//第一个字符位置为 0, 第二个字符位置为 1,以此类推.
var str = "HELLO WORLD";
var n = str.charAt(2)
console.log(n)//L
2.charCodeAt()方法 可返回指定位置的字符的 Unicode 编码
var str = 'abc'
var n=str.charCodeAt(0)
console.log(n)//97
3.concat() 方法 用于连接两个或多个字符串。
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
console.log(n) //Hello world!
4.indexOf() 方法 可返回某个指定的字符串值在字符串中首次出现的位置。
var str = 'abc'
console.log(str.indexOf('ab')) //返回的下标0
console.log(str.indexOf('d')) //找不到返回-1
//可以有俩个参数 第一个参数为 对应需要查询的字符串 第二个参数为 开始查找的下标
var str = 'abccde'
console.log(str.indexOf('c',2)) //从下标2开始找 找第一个出现c的位置 返回2
console.log(str.indexOf('c',4)) //从下标2开始找 找第一个出现c的位置 -1
5.lastIndexOf() 方法 可返回一个指定的字符串值最后出现的位置
var str = 'abccde'
console.log(str.lastIndexOf('c')) //3
console.log(str.lastIndexOf('c',0)) //-1 从0的位置往前找
console.log(str.lastIndexOf('c',2)) //2 从2的位置往前找
6.split() 方法 用于把一个字符串分割成字符串数组。
var str = '1,2,3'
//默认不是以,作为分割 默认不分割 直接填入到数组
console.log(str.split()); //['1,2,3']
console.log(str.split(',')); //['1','2','3']
console.log(str.split('')); //['1', ',', '2', ',', '3']
7.substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
var str = "abcdef"
console.log(str.substr(1)); //默认的情况是截取到最后 bcdef
console.log(str.substr(1, 3)); //从下标1开始截取 截取个数为3个 bcd
8.substring() 方法 用于提取字符串中介于两个指定下标之间的字符。(包括 开始 处的字符,但不包括 结束 处的字符。)
var str = "abcdef"
console.log(str.substring(1));//bcdef
console.log(str.substring(1,3));//bc
9.toLowerCase() 方法 用于把字符串转换为小写。
var str = 'abcA'
console.log(str.toLowerCase())//abca
10.toUpperCase() 方法 用于把字符串转换为大写
var str = 'abcA'
console.log(str.toUpperCase())//ABCA
11.join()方法 用于数组转字符串
var arr = [1,2,3]
var n=arr.join("-")//中间用-连接
console.log(n)//1-2-3
五、小结
- string是不能改变的(常量)
string 的方法返回的都是一个新的字符串 string 的 length 属性是只读的(不能赋值)读取对应的字符串的长度- 字符串转数组 split();
- 数组转字符串 join();
转大写和小写 toUpperCase 和 toLowerCase 截取的方法 substring substr
本文含有隐藏内容,请 开通VIP 后查看
