关于js中的类型内容总结(类型转换)
一、js中的类型有哪些
js中的对象类型可以大致分为三大类:原生对象、宿主对象、浏览器扩展对象,其中浏览器扩展对象应用对此不做总结。
下面一张图系统的介绍了数据类型的分类
二、值类型与对象类型的区别
值类型数据如:var a=3;var a="3",这些类型的数据是在栈内存中存放的,它有一个特点:
var a=3;
var b=3;
其中a,b存放了相同数值,修改b的数值如:var b=4;并不会影响a的数值;
对象数据类型是存放在堆内存当中,栈内存存放的只是是对其堆内存地址的引用。如:
var car={
color:red;
size:4;
}
这是一个对象,其中car存放的只是其引用对象的地址,如果让var b=car;那么b存放的也是car引用的地址,堆内存中存放的数据并没有发生改变,
如果执行下面代码:car.color=black;
则:console.log(b.color);// black;
三、隐式类型转换转换
1、在如下情况下会发生隐式类型转换
数字运算符:var b=""+3;//"3"
.字符:通过.应用数学方法会自发的转成对象,1.toString();//"1"
if():if语句中的条件语句会自发的把表达是转换成布尔值
!,!!逻辑运算符
隐式类型转换列表:
2、显式类型转换
当隐式类型转换无法满足程序的要求时,需要应用显式类型转换,有如下方法
Number(),String(),Boolean()
parseInt(),parseFloat()
!,!!