【发布时间】:2013-02-04 14:25:56
【问题描述】:
在 IE 中你不能使用obj.__proto__ = some_proto,但你可以通过函数继承来解决这个缺陷,例如:
func = function(){}
func.prototype = proto
obj = new func
这个回旋处的问题是旧的obj 引用丢失了,并且不会指向以proto 为原型的新obj。有没有办法改变IE中已有对象的原型?
【问题讨论】:
-
没有。
__proto__只是一个 hack(它是非标准的),无论如何你都不应该使用它。目前无法在 JS 中更改现有对象的原型。 相关:stackoverflow.com/q/13235313/218196、stackoverflow.com/a/7223353/218196 -
@FelixKling:让它成为答案
-
是的,我猜它可能不是,但只是想确定一下。感谢您的链接!
标签: javascript internet-explorer prototype