制作一个 javascript 函数 returns 本身,它是自身的一个实例
Making a javascript function that returns itself where it is an instance of itself
在 Javascript 中,是否有可能使函数 Foo()
使得 (Foo() == Foo)
和 (Foo() instanceof Foo)
?
这几乎可以工作:
function Foo() { Object.setPrototypeOf(Foo,this); return Foo; }
所以 new Foo() instanceof Foo
在这种情况下,但是如果我只调用 Foo
而没有 new
,它不起作用。
你需要做
function Foo() { return Foo; } // Foo() === Foo
Object.setPrototypeOf(Foo, Foo.prototype); // Foo instanceof Foo
记住 a instanceof B
等同于 B.prototype.isPrototypeOf(a)
在 Javascript 中,是否有可能使函数 Foo()
使得 (Foo() == Foo)
和 (Foo() instanceof Foo)
?
这几乎可以工作:
function Foo() { Object.setPrototypeOf(Foo,this); return Foo; }
所以 new Foo() instanceof Foo
在这种情况下,但是如果我只调用 Foo
而没有 new
,它不起作用。
你需要做
function Foo() { return Foo; } // Foo() === Foo
Object.setPrototypeOf(Foo, Foo.prototype); // Foo instanceof Foo
记住 a instanceof B
等同于 B.prototype.isPrototypeOf(a)