包装类(String、Number、Boolean)

在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象。
	String()  可以将基本数据类型字符串转换为String对象
	Number()  可以将基本数据类型的数字转换为Number对象
	Boolean() 可以将基本数据类型的布尔值转换为Boolean对象

但是注意:我们在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,
在做一些比较时可能会带来一些不可预期的结果

通过new来创建对象

var num = new Number(3);
方法和属性能添加给对象,不能添加给基本数据类型
当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,
然后在调用对象的属性和方法,调用完以后,在将其转换为基本数据类型。

var s = 123;
s = s.toString();
s.hello = "你好";
console.log(s.hello);
// "undefined" s是基本数据类型,不能添加属性
console.log(typeof s); // "string"

字符串的相关方法:

创建一个字符串
var str = "Hello Atguigu";

在底层字符串是以字符数组的形式保存的 ["H","e","l"]
length属性
可以用来获取字符串的长度

var str = "Hello Atguigu";
console.log(str.length);//13
console.log(str[5]);//‘ ’
charAt()
可以返回字符串中指定位置的字符<br>
根据索引获取指定的字符

str = "中Hello Atguigu";
var result = str.charAt(6); // A
charCodeAt()
获取指定位置字符的字符编码(Unicode编码)

result = str.charCodeAt(0);
String.formCharCode()
// 可以根据字符编码去获取字符
result = String.fromCharCode(0x2692);
concat()
可以用来连接两个或多个字符串<br>
作用和+一样

result = str.concat("你好","再见");
indexof()
该方法可以检索一个字符串中是否含有指定内容;
如果字符串中含有该内容,则会返回其第一次出现的索引;
如果没有找到指定的内容,则返回-1;

可以指定一个第二个参数,指定开始查找的位置
lastIndexOf()
该方法的用法和indexOf()一样,
不同的是indexOf是从前往后找,而lastIndexOf是从后往前找;
也可以指定开始查找的位置

str = "hello hatguigu";
result = str.indexOf("h",1);//6
result = str.lastIndexOf("h",5);//0
slice()
可以从字符串中截取指定的内容;
不会影响原字符串,而是将截取到内容返回。

参数:
	第一个,开始位置的索引(包括开始位置);
	第二个,结束位置的索引(不包括结束位置);
	如果省略第二个参数,则会截取到后边所有的;
	也可以传递一个负数作为参数,负数的话将会从后边计算。

str = "abcdefghijk";
result1 = str.slice(1,4);//bcd
result2 = str.slice(1,-1);//bcdefghij
console.log('result1 = '+result1)//result1 = bcd
console.log('result2 = '+result2)//result2 = bcdefghij
substring()
可以用来截取一个字符串,可以slice()类似;

参数:
第一个:开始截取位置的索引(包括开始位置);
第二个:结束位置的索引(不包括结束位置);

不同的是这个方法不能接受负值作为参数,如果传递了一个负值,则默认使用0;
而且他还自动调整参数的位置, 如果第二个参数小于第一个,则自动交换。
substr()
用来截取字符串

参数:
1.截取开始位置的索引
2.截取的长度

str = "abcdefg";
result = str.substr(3,2);
console.log('result = '+result)//"result = de"
split()
可以将一个字符串拆分为一个数组。

参数:
需要一个字符串作为参数,将会根据该字符串去拆分数组

str = "abcbcdefghij";
result = str.split("d");
console.log('result = '+result)
// "result = abcbc,efghij"
// 如果传递一个空串作为参数,
// 则会将每个字符都拆分为数组中的一个元素
str = "abcbcdefghij";
result = str.split("");
console.log('result = '+result)//"result = a,b,c,b,c,d,e,f,g,h,i,j"	console.log(Array.isArray(result));//true
console.log(result[0]);//a
toUpperCase()
将一个字符串转换为大写并返回

str = "abcdefg";
result = str.toUpperCase();
console.log('result = '+result)
// "result = ABCDEFG"
toLowerCase()
将一个字符串转换为小写并返回。
10-07 11:31