0

看完这篇文章, http: //mcc.id.au/2013/lca-webidl/

我在第 20 页有一些问题,

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

  2. 当你抓取一个对应于 IDL 操作的函数并将其应用于其他类型的对象时会发生什么。

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

  4. DOM 对象是如何被字符串化的。

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

谢谢

4

1 回答 1

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.prototypeElement.prototype
  4. 定义了字符串化符(例如 )的 DOM 对象HTMLAnchorElement被字符串化,但是相关规范将它们定义为。所有其他对象变为“[object MostDerivedInterfaceName]”。
于 2014-02-14T04:26:02.243 回答