JavaScript提供三種方式判斷對象的類型; spa
1、typeof code
typeof 運算符判斷對象或數據的類型,返回值爲小寫的字符串類型; 對象
2、constructor blog
除了null、undefined以外,對象都具備constructor屬性。能夠經過此屬性判斷類型,返回值爲首字母大寫的對象。 ip
對象或數據 | typeof | constructor |
12 | number | :SyntaxError |
false | boolean | Boolean |
"asdfa" | string | String |
null | object | :TypeError |
undefined | undefined | :TypeError |
NaN | number | Number |
function(){} | function | Function |
[1,2] | object | Array |
new Object() | object | Object |
{} | object | Object |
new Number(12) | object | Number |
new Boolean(false) | object | Boolean |
new String("asdfad") | object | String |
Number(12) | number | Number |
Boolean(false) | boolean | Boolean |
String("ssss") | string | String |
3、instanceof ci
經過instanceof運行符能夠像Java中同樣判斷對象的類型。instanceof 運行只能用於判斷非空的對象類型 字符串
[] instanceof Array; // true {} instanceof Object; // true function Obj(){} new Obj() instanceof Obj; // true 12 instanceof Number; // false new Number(12) instanceof Number; // true false instanceof Boolean; // false new Boolean(false) instanceof Boolean; // true "" instanceof String; // false new String("") instanceof String; // true null instanceof Object; // false