标签:
typeof Array, Object, new Class() 都会返回‘object‘, 所以使用typeof不能准确的判断变量是否为object
typeof []; //object typeof {}; //object typeof new (function (){}); //object typeof 1; //number typeof ‘1‘; //string typeof null; //object typeof true; //boolean
要准确判断一个变量是否是一个对象,可以使用constructor以及instanceof判断。1. constructor是指该对象的构造函数, 使用constructor时, 要注意, 实例化类时, 类的prototype.constructor需要正确引用。({}).constructor === Object; //true
(1).constructor === Number; //true
([]).constructor === Array; //true
(‘1‘).constructor === String; //true
(true).constructor === Boolean; //true
({}) instanceof Object; //true
([]) instanceof Array; //true
(1) instanceof Number; //true
(‘1‘) instanceof String; //true
(true) instanceof Boolean; //true
JavaScript typeof obj === ‘object’ 这样写有什么问题
标签:
原文地址:http://www.cnblogs.com/facial/p/5797629.html