由WebIDL定义的东西

时间:2014-02-13 15:07:14

标签: firefox firefox-os b2g

阅读这篇文章后, http://mcc.id.au/2013/lca-webidl/

我在第20页中有一些问题,

  1. 当您传递太多/少数参数时会发生什么。

  2. 当您获取与IDL操作相对应的Function并将其应用于其他类型的对象时会发生什么。

  3. 接口继承如何与原型链相对应。

  4. DOM对象的字符串化方式。

  5. 任何人都可以对这些要点给出具体的解释或示例。

    由于

1 个答案:

答案 0 :(得分:4)

  1. 如果您传递的参数太多,则会忽略额外的参数。试试document.getElementsByTagName("a", "b")。如果传球太少,则会出现例外:document.getElementsByTagName()
  2. 如果将WebIDL操作应用于错误类型的对象,则会出现异常。请参阅“尝试运行以下步骤”下的http://heycam.github.io/webidl/#es-operations步骤4。例如document.getElementsByTagName.call(document.body, "div")
  3. 接口继承对应于http://heycam.github.io/webidl/#interface-prototype-object中描述的原型链,但如果您有interface Foo : Bar { };然后Object.getPrototypeOf(Foo.prototype) === Bar.prototype,则简要说明。例如,HTMLElement.prototype的原型是Element.prototype
  4. 定义了字符串化的DOM对象(例如HTMLAnchorElement)被字符串化,但相关规范将它们定义为。所有其他对象变为“[object MostDerivedInterfaceName]”。