面试视频知识点整理1-6(类型转换)
类型转换:
1)显示转换
使用方法直接转换
Number()
数值:转换后还是原来的值
字符串:如果可以转化成数值,则转化为数值,否则转换为NaN,空字符串转换为0
布尔值:false转换成0,true转化成1
undefine: 转成NaN
null: 转成0
对象类型转换:先调用自身的valueOf方法,如果该方法返回原始类型的值,则直接对该值使用 Number方法,如果valueOf方法返回的复合值则调用自身的toString方法,然后再调用Number方法
Boolean()
数值:0转换成false,其它数字转换成true,NaN转换成false
字符串:空字符串转成false,不为空转换成true
对象:true
undefine及null:转成false
String()
对象类型转换:先调用toString方法,如果返回的是原始类型的值,则使用String方法。如果是复合类型的值则使用valueOf方法,如果返回的是原始类型的值则使用String方法
2)隐式转换
运算
加减乘除之类
判断语句
if for 三目运算符
native调用
alert等
常见考题:
[]+[] []+{} {}+[] {}+{} true+true 1+{a:1}
使用typeOf检测类型