首先我们知道js中的 基本数据类型
String Number Boolean Null Undefined
和 引用数据类型
Object
在js中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象。
1.String():可以将基本数据类型字符串转换为String对象
2.Number():可以将基本数据类型字符串转换为Number对象
3.Boolean():可以将基本数据类型字符串转换为Boolean对象
var num = new Number(3);
//创建了一个Number类型的对象
对象的功能比基本数据类型要多的多
我们可以进行
num.hello = 'asdfg'
为对象中添加属性等等等等操作,但实际用处不大,了解即可。
方法和属性只能添加给对象,不能添加给基本数据类型,当我们对一些基本数据类型去调用属性和方法时,浏览器会临时使用包装将其转换为对象,然后再调用对象的属性和方法,调用完以后,再将其转换为基本数据类型。
注意:
var s = 123;
s.hello = '你好';
//浏览器将基本数据类型s临时包装为对象,结束后销毁
console.log(s.hello);
// 结果为undefined 此处再次临时转换为对象
因为两次包装,包装成的对象s不是同一个对象,所以输出undefined
综上来看,包装类大多时候都是浏览器自己用,我们用到的并不多