看看这段代码:
function Foo () {
console.log(this instanceof Foo);
return { name: "nitesh" };
}
foo = new Foo(); //true
console.log(foo instanceof Foo) //false
foo
不是Foo
的实例?this
是Foo
的实例?答案 0 :(得分:11)
在Foo
函数中,您将返回一个对象。这是foo
设置的内容。那不是Foo
对象,它只是一个“普通”对象。
以这种方式尝试:
function Foo(){
console.log(this instanceof Foo);
this.name = "nitesh";
}
var foo = new Foo(); //true
console.log(foo instanceof Foo) //true