1.强制类型转换就是将一个数据类型强制转换为其他的数据类型;类型转换就是将其他的数据类型转换为 String、Boolean、和Number。
2、转换为 String类型:
方法一:-----调用被转换数据类型的toString()的方法
-----他不会影响到原变量,他将转换的结果返回
-----但是注意:null、undefined没有tostring的转换方法,所以不能使用该方法转换。
方法二:-----调用String()函数,将被转换的数据作为参数传递给函数
-----使用String()函数进行强制转换时,对于boolean和number类型实际上就是调用的tostring()方法,对于null和undefined不是,对于null值直接转换为字符串"null",对于undefined值,直接转换为字符串"undefined"
注意:toString()和String()这里面string一定要大写,千万不要写错。
3、将其他的数据类型转换为Number类型
方式一:使用Number()函数。用法与String()类似。
a. 字符串----Number:
---若纯数字类型的字符串,则将字符串直接转换为相应的数字
---若字符串中含有非数字的内容,则将其转化为NaN
---若字符串为空串或是一个全是由空格组成的字符串,则将其转换为0
b.布尔型----Number:
---true转换为1
---false转换为0
c.空值---Number:null转换为0
d.undefined---Number: undefined 转换为NaN
方式二:使用parseInt()和parseFolse(),这两个函数是专门用来将字符串转换为数字的。parseInt()是把一个字符串转换为一个整数,将字符串中的有效整数位(只有在数字在字符串的开头,才能提取出来,而且只要遇到非数字内容,则停止提取)提取出来,;parseFolse()是把一个字符串转换为一个浮点数,将字符串中的有效小数位(只有在数字在字符串的开头,才能提取出来,而且在第一个小数点后面遇到非数字内容则停止提取)提取出来。
注意:对于非字符串使用这两个函数时,他会先将其转换为字符串,然后在进行相应的操作。
4、在js中,如果想要表示16进制数字,则数字需要以0x开头表示16进制数字,如果想要表示8进制数字,则数字需要以0开头表示8进制数字,如果想要表示2进制数字,则数字需要以0b开头表示2进制数字。注意:在输出中,输出的都是十进制
5、像字符串"070",如果我们想要将其转换为数字,有的浏览器会把他当成八进制数,有的浏览器会把它当成十进制数,为了解决这个问题,我们可以使用parseInt()转换时,传入第二个参数,来指定进制数。
6、将其他的数据类型转换为Boolean:使用Boolean()函数
----数字转换为Boolean:除了0和NaN,其余都转换为true;
----字符串转换为Boolean:除了空串,其余都转换为true;
----null和undefined:这两个都转换为false
----对象(object)转换为true;