IE< 9中的Javascript对象列表无法从Object.prototype继承

时间:2011-07-07 03:52:12

标签: javascript

我理解Object.prototype不应该被改变,但出于好奇,所有在IE中都无法从Object.prototype继承的对象< 9?

到目前为止,以下所有内容都未能从Object.prototype继承。

  • 警报
  • 使用document.createElement
  • 的setTimeout
  • 的setInterval
  • document.createElement('i') - 所有其他DOM元素
  • document.createElement('i')。appendChild - 包含所有DOM元素方法

我在这里创建了一个jsbin测试。所有浏览器都应该取得成功,除了...... IE。

http://jsbin.com/inuhux/7 - http://jsbin.com/inuhux/7/edit

IE< 9中的哪些其他对象无法继承Object.prototype

2 个答案:

答案 0 :(得分:1)

您不应该假设主机对象从任何浏览器或用户代理中的内置对象继承任何。没有说明他们必须的规范。

W3C DOM规范都是语言中立的,它们不承担任何特定的语言功能。当他们在DOM接口上使用术语"inherit"时,它意味着“此接口具有某些其他接口的所有功能”,而不是必须实现任何类型的继承。

有些浏览器选择使用原型继承来实现它们,但这不是必需的。

答案 1 :(得分:0)

你是什么意思alert不是从对象继承而且没有原型:

 typeof alert; // "function"
 typeof alert.prototype; // "object"