日期:2014-05-16  浏览次数:20337 次

《精通JavaScript》笔记——获得JavaScript对象的类型

在JavaScript中获得对象的类型有两个函数:一个是typeof,另一个是constructor

下面是使用typeof来判断对象类型的用法,它返回一个字符串:


var obj = "I'm string!";
alert(typeof obj === 'string');

constructor方法会返回一个构造函数:

alert(obj.constructor == String);

下面这个表展示了用上述的两种方法对不同类型对象进行类型检查的结果。

变量 typeof变量 变量.构造函数
{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);