在Javascript中,是否可以将函数Foo()
设为 {/ em> (Foo() == Foo)
和(Foo() instanceof Foo)
?
这几乎有效:
function Foo() { Object.setPrototypeOf(Foo,this); return Foo; }
在这种情况下new Foo() instanceof Foo
,但如果我只是在没有Foo
的情况下致电new
,则无效。
答案 0 :(得分:3)
你需要做
function Foo() { return Foo; } // Foo() === Foo
Object.setPrototypeOf(Foo, Foo.prototype); // Foo instanceof Foo
请注意a instanceof B
等同于B.prototype.isPrototypeOf(a)