采用构造函数创建的对象,都被认为是构造函数的一个实例(instance),简单理解就是新创建的对象时一个克隆体,而构造函数则是被克隆体,我们使用instanceof来验证一下这个对象是不是由这个构造函数克隆过来的。如果是则放回true,不是则返回false。

1
2
3
4
5
6
7
var Bird = function(name,color){
this.name = name;
this.color = color;
this.numLegs = 2;
}
var crow = new Bird("dBird","red");
crow instanceof Bird; //返回true

如果不使用构造函数创建对象,则会验证出它不是该构造函数的实例:

1
2
3
4
5
6
var abc = {
name : "ebird",
color : "Yellow",
numLegs : 2
};
abc instanceof Bird; //返回false

评论