日期:2014-05-16 浏览次数:20408 次
在JavaScript中获得对象的类型有两个函数:一个是typeof,另一个是constructor。
下面是使用typeof来判断对象类型的用法,它返回一个字符串:
var obj = "I'm string!";
alert(typeof obj === 'string');
而constructor方法会返回一个构造函数:
alert(obj.constructor == String);
下面这个表展示了用上述的两种方法对不同类型对象进行类型检查的结果。
| {an:”object”} | object | Object |
| ["an","array"] | object | Array |
| function(){} | function | Function |
| “a string” | string | String |
| 55 | number | Number |
| true | boolean | Boolean |
| new User() | object | User |
从这个表看来,把变量的构造函数作为对象类型引用是最不容易犯错的合法类型检查,通过name属性就可以获得对象类型的名称。
console.log(obj.constructor.name);