被比较值 B |
|||||||
Undefined |
Null |
Number |
String |
Boolean |
Object |
||
被比较值 A |
Undefined |
true |
true |
false |
false |
false |
IsFalsy(B) |
Null |
true |
true |
false |
false |
false |
IsFalsy(B) |
|
Number |
false |
false |
A === B |
A === ToNumber(B) |
A=== ToNumber(B) |
A== ToPrimitive(B) |
|
String |
false |
false |
ToNumber(A) === B |
A === B |
ToNumber(A) === ToNumber(B) |
ToPrimitive(B) == A |
|
Boolean |
false |
false |
ToNumber(A) === B |
ToNumber(A) === ToNumber(B) |
A === B |
ToNumber(A) == ToPrimitive(B) |
|
Object |
false |
false |
ToPrimitive(A) == B |
ToPrimitive(A) == B |
ToPrimitive(A) == ToNumber(B) |
A === B |
类型检测
JavaScript中类型检测方法有很多,有例如:typeof、instanceof、Object.prototype.toString、constructor、duck type这几种。
虽然方法很多,但判断思路就是两种:1根据数据类型判断 2 根据构造函数判断。
typeof可以判断数据类型,依据之前的介绍,javascript变量类型分为值类型和引用类型,typeof应用场景只可以区分值类型的数据类型,例如:
typeof 42 // "number" typeof {} // "object" typeof undefined // " undefined"
和typeof一样,instanceof用于判断引用类型的数据类型。
例子:
(function(){}) instanceof Function
其他的还有Object.prototype.toString、constructor、duck type,在这就不一一介绍。
在了解了JavaScript的基础数据类型知识后,后面我们会继续为大家借着介绍CSS相关的内容。
以上就是萌新HTML5 入门指南(二)的详细内容,更多关于萌新html5 入门的资料请关注脚本之家其它相关文章!