转载:https://blog.csdn.net/AIB_Kasic/java/article/details/100928422
作者:喜欢前端的小北
先讲两个相似的东西
1和Number(1)
1===Number(1) //true
1和new Number(1)
1===new Number(1) //fasle
上面第一个只是把1转换为数字类型,而第二个,是把 1 包装 成了一个对象既------包装对象
所以 1 和 new Number(1)的区别就是原始类型和包装对象的区别
之前我们说过了js有八种数据类型,其中null,undefine,Number,String,Boolean是原始类型
除了null,undefine每个原始数据类型都对应一个包装对象
这也是我们能用原始数据类型调用方法的原理:
(‘abc’).toString()
上述例子,‘abc’是一个字符串,原始类型,它并没有toString()这个方法,所以就去它的包装对象 new String(‘abc’)中调用.
当调用后包装对象就会消失,下次需要就会重新创建。
网友评论