function foo(){
return foo;
}
console.log(new foo() instanceof foo);
不懂为什么返回false
function foo(){
return foo;
}
console.log(new foo() instanceof foo);
不懂为什么返回false
换了两段不一样的代码,自己再感受一下:
function foo(){
return foo;
}
let f = new foo();
console.log(f instanceof foo);
function foo(){
return this;
}
let f = new foo();
console.log(f instanceof foo);
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答761 阅读✓ 已解决
2 回答1.9k 阅读
6 回答999 阅读
因为
new
的规则是,如果函数返回对象则就是这个对象,否则是函数中的this
所以
new foo()
其实就是foo
,所以foo instanceof foo
是falsenew foo() === foo
会是 true