我知道IE不支持__proto__
,但我正在考虑功能。 new Constructor
只能设置自动创建的对象的隐藏__proto__
,如果返回一个函数,则__proto__
不受影响,而ES5的Oject.create
无法创建函数。如何设置函数的__proto__
?您可以建议在Function.prototype
上设置属性,但这不是一个干净的方法。我还想避免直接在各个函数上设置属性,因为它既不干净也不友好,毕竟一个新属性,即使只是一个引用,也可以在32平台上消耗至少4个字节,而__proto__
是强制性的,因此没什么值得的。请忍受我的吝啬;)那么,有没有人知道怎么做而不诉诸__proto__
?提前谢谢!
---> 8 ---
编辑:
我的意图是使用arguments.callee
s作为普通对象,它们有自己的方法,如果我可以将这些方法放在原型中,我认为它会很常见。