JavaScript中判断一个对象 是否为一个类的实例主要有两种方法,即 instanceof 和constructor,前者指出对象是否为特定类的一个实例,后者表示创建对象的函数。
两者的区别通过下面的代码可以看出来:
var a = [1, 2, 3];
alert(a instanceof Array); //返回true
alert(a instanceof Object); //返回true
alert(a.constructor == Array); //返回true
alert(a.constructor == Object); //返回false
如上可见,constructor 更加精确地指向对象所属的类,而对 instanceof 而言,即使是父类也会返回 true。
评论: