强制转换数据类型
引用数据类型:Object 分为3类
1.function 函数
强制类型转换: 主要指将其他类型转为:string,number,boolean
转换为字符串:
方式1:调用被转换数据类型的toString()方法,该方法不会影响原来的变量,他会将转换的结果返回
注意:null 和 nuderfined 没有toString这个方法,如果调用,就会报错
方式2:调用String()函数,并将被转换的数据作为参数传递给函数。使用String函数做强制类型转换的时候,对于number和Boolean 实际上就是调用了toString方法。
将其他的数据类型转换为Number:
方式1:使用Number()函数
字符串---> 数字
1.如果是纯数字的字符串,则直接将其装换为数字。
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者全是连续的空格的字符串,则转换为0
布尔值 ---> 数字
true 转成1
false 转成0
null --->数字 0
nuderfinrd ---> 数字 NaN
方式2:这种方式就是专门对字符串的
parseInt() 把一个字符串转换为一个整数
parseFloat() 把一个字符串转换为一个浮点数
如果对于非字符串类型转换,它会先将其转换为字符串,在进行操作
将其他的数据类型转换成boolean
使用Boolean函数
数字--->布尔
除了0和NaN,其他都是true
字符串--->布尔
除了空串,其余都是true
null和 undefined 都返回false
对象也会转为true
进制
在js中如果需要表示16进制的数字,则需要也0x开头
如果需要表示8进制,则需要以0开头
如果需要表示二进制,需要以0b开头
运算符
(+) 可以对两个值进行相加运算,并返回结果。
如果两个字符串做加法运算,则会进行拼串。
任何的值和字符串做加法运算,都会先转为字符串,然后在和字符串做拼串。
如果加法运算里面没有字符串,会将这些值转换成number,然后再做运算。
任何的值和NaN相加,都是NaN
隐式
//快速变成number类型
var c = "123"
c = c - 1
var a = "0"
a = !!a