【发布时间】:2010-10-07 14:28:12
【问题描述】:
可能重复:
Can a JavaScript object have a prototype chain, but also be a function?
我正在寻找一个可调用的 JavaScript 对象,具有任意原型链,但不修改 Function.prototype。
换句话说,这必须有效:
var o = { x: 5 };
var foo = bar(o);
assert(foo() === "Hello World!");
delete foo.x;
assert(foo.x === 5);
不进行任何全局更改。
【问题讨论】:
-
底层机制是一样的,但是这个问题略有不同(示例起点差异很大),答案增加了重要价值。被提名重新开放。
标签: javascript functional-programming