JS中有七种数据类型,往往需要用到数据类型转换,简单总结如下:
一、转字符串
其他数据类型转字符串,可以用toString(),数值、布尔值、对象都可以使用该方法转为字符串类型,其中对象会转化成[object,Object]。null、undefined调用该方法会报错。比较简便的方法是直接加上一个空字符串'',比如1+''=='1'。此外还有String()方法。+''和String()可以将null和undefined分别转换成'null'和'undefined'。
二、转布尔值
其他数据转布尔值,除了五种特例,其余全为真true。
这五种特例是:
1、数值0(包括+0和-0)。
2、NaN。
3、null。
4、undefined。
5、''(空字符串)。
三、转数值
转数值的几个方法:
1、Number();
2、parseInt();取整数。注意此函数有第二个参数,为进制,默认为十进制。
3、parseFloat();取浮点数。
4、简便方法-0或者取正+。
四、普通类型和对象的区别
对象是普通类型的集合,对象是一对对无序排列的键值对,它的保存方式和普通类型不同。普通类型保存在栈内存中,对象的地址保存在栈内存中,其实体(我这么理解的~)保存在堆内存中。将一个对象赋值(a)给另一个对象(b),仅仅是将地址赋给了b,两者在栈内存中都保存了同一个地址,指向堆内存的一个实体,此时改变a或者b的任意一个属性,a、b两者的属性都将改变。但如果重新给a或b赋值,被赋值的那个保存的地址改变,未被重新赋值的对象不受影响。
网友评论