JavaScript强制类型转换
指将一个数据类型强制转换为其他的数据类型。
1、将其他的数据类型转换为String ① toString()
调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回,但是注意:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错。
② String()函数
调用String()函数,并将被转换的数据作为参数传递给函数,使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined,就不会调用toString()方法,它会将 null 直接转换为 "null",将 undefined 直接转换为 "undefined"。
2、将其他的数据类型转换为Number ① Number()函数
字符串 --> 数字
如果是纯数字的字符串,则直接将其转换为数字 如果字符串中有非数字的内容,则转换为NaN 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0 布尔 --> 数字
true 转成 1
false 转成 0
null --> 数字 0
undefined --> 数字 NaN
② parseInt() 与parseFloat() ---> 字符串专用方法
parseInt() 把一个字符串转换为一个整数,parseFloat() 把一个字符串转换为一个浮点数。
③ 其他的进制的数字
在JavaScript中,如果需要表示16进制的数字,则需要以0x开头; 如果需要表示8进制的数字,则需要以0开头; 如果要要表示2进制的数字,则需要以0b开头; 但是不是所有的浏览器都支持; 3、将其他的数据类型转换为Boolean (1)使用Boolean()函数
① 数字 ---> 布尔
除了0和NaN,其余的都是true
② 字符串 ---> 布尔
除了空串,其余的都是true
null和undefined都会转换为false
对象也会转换为true
三、运算符 1、通过运算符可以对一个或多个值进行运算,并获取运算结果 比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回 number string boolean undefined object
2、算数运算符 当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算。
任何值和NaN做运算都得NaN
(1)+
+可以对两个值进行加法运算,并将结果返回 如果对两个字符串进行加法运算,则会做拼串 会将两个字符串拼接为一个字符串,并返回 任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作 (2)-
- 可以对两个值进行减法运算,并将结果返回
(3)*
- 可以对两个值进行乘法运算
(4)/
/ 可以对两个值进行除法运算
(5)%
% 取模运算(取余数)
四、任何值和字符串相加都会转换为字符串,并做拼串操作 我们可以利用这一特点,来将一个任意的数据类型转换为String; 我们只需要为任意的数据类型 + 一个 "" 即可将其转换为String; 这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数;