包装类
在JS中为我们提供了三个包装类:
String()
Boolean()
Number()
通过这三个包装类可以创建基本数据类型的对象
例子:
var num = new Number(2);
var str = new String("hello");
var bool = new Boolean(true);
但是在实际应用中千万不要这么干。
//向num中添加一个属性
var num = new Number(3);
var num2 = new Number(3);
num.hello = "abcdefg";
console.log(num);
console.log(num.hello); //abcdefg
但是注意:我们在实际应用中不会使用基本数据类型的对象,
如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果
var str = new String("hello");
var str2 = new String("hello");
console.log(str === str2); //false
当我们去操作一个基本数据类型的属性和方法时,
解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,
操作完成以后再将这个临时对象进行销毁。
方法和属性只能添加给对象,不能添加给基本数据类型
当我们对一些基本数据类型的值去调用属性和方法时,
浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法
调用完以后,再将其转换为基本数据类型