一、包装类是什么
在Js中有两大数据类型——基本数据类型和对象,JS全部数据类型看这里
JS提供了三个包装类,可以将基本数据类型转换为对象
二、包装类如何转换基本数据类型
通过new对象进行转换,本质上String(),Number(),Boolean()都是构造函数
举例
<script type="text/javascript">
var num=new Number(3);
num.at="sdfsd";//为num添加属性
console.log(num.at);//输出sdfsd
</script>
注意:
- 在实际开发中不会使用包装类将基本数据类型转化为对象
- 如果使用在做一些比较时可能带来不可预期的结果
三、包装类有什么作用
基本数据类型与对象的区别:基本数据类型没有属性及方法,对象有
正如二所说,实际开发中不会使用包装类将基本数据类型转化为对象
那么实际开发中,包装类如何用:
- 包装类是浏览器内部自己用
- 用户可以直接用基本数据类型转换为对象调用属性及方法
举例说明
<script type="text/javascript">
var num =123;//基本数据类型数字
num=num.toString();//浏览器临时使用包装类将num转换为对象,调用方法,然后销毁
console.log(num);//输出123
</script>
注意:对象销毁之后,涉及对象的操作,会重新创建对象
举例说明:
<script type="text/javascript">
var num =123;
num.hello=123;//为num添加属性
console.log(num.hello);//输出undefined
</script>
为什么输出undifined?
num.hello=123为num添加属性,其实是new Number().hello=123,
此时num对象被销毁
然后运行到console.log(num.hello);,num为一个新对象new Number()中没有hello属性
所以输出undefined