gpt4 book ai didi

javascript - `new Image()` 和 `new Option()` 等构造函数记录在哪里?

转载 作者:可可西里 更新时间:2023-11-01 01:54:53 26 4
gpt4 key购买 nike

不是在 Mozilla,而是:

鉴于这些引用资料,mozilla.org 是否有相同的文档是没有意义的,如下所述。


具体来说,在 mozilla.org 中,new Image()new Option() 等构造函数在现代语境中有哪些记录?

古代 documentation ,

描述了这些构造函数的存在,暗示它们是内在的 JavaScript 语言组件,这是不正确的。

javascript: alert([new Image(), '\n\n', new  Option()])

通过显示清楚地表明它们的明显存在

[object HTMLImageElement],

,[object HTMLOptionElement]

从修辞上讲,关于:

javascript:alert([new Anchor(), new Preserve(), new Form(),,, ])

还有哪些原始元素 DOM 构造函数?或者,没有了?

合并 new Image()new Option() 等的编程定义是否与 Mozilla 使用的 DOM 范式不一致?解释他们的缺席?然而,这些构造函数显然不是 JavaScript 的语言规范所固有的,当然也不是 HTML。那么,究竟哪里有完整描述它们(包括参数类型和顺序)的正确的当前范例(源自 mozilla.org)?

引用资料:


旁白:(请不要因此而分心 - 唯一需要考虑的是找到文章标题中指定的相关文档)

answer提示进行以下检查。这只是一个观察结果。

javascript:
alert([ Option, Image,
JSON, Math, Error,
Array, Boolean, Date, Function,
Number, Object, RegExp, String ].join("\n\n"));
alert( Image.toSource() );

在 FireFox 中生成:

[object Option]

[object Image]

[object JSON]

[object Math]

function Error() { [native code] }

function Array() { [native code] }

function Boolean() { [native code] }

function Date() { [native code] }

function Function() { [native code] }

function Number() { [native code] }

function Object() { [native code] }

function RegExp() { [native code] }

function String() { [native code] }

({})

但是

Error: ({}) is not a constructor
Source File: javascript:alert(new ({}));
Line: 1

Image 是否是构造函数?这个问题的答案(大概)可以在回答该帖子标题中所提问题的文档中找到。这应该强调在适当的文档中对 ImageOption 等进行编目的不一致、异常和不规则。

最佳答案

JavaScript™(Mozilla 的 DOM 操作的 ECMAScript 实现,又名 Gecko)和用于描述其他浏览器中类似脚本环境的通用术语“javascript”(例如 IE 中的 JScript)之间存在区别。

Archaic documentation, [...] describes the existence of these constructors implicating them as intrinsic JavaScript language components, which is incorrect.

你是怎么得出这个结论的? JavaScript™ 属于 Mozilla,因此他们可以指定它包含他们想要的任何内容。 JavaScript™ 从一开始就有一个 Image 和 Option 构造函数,其他实现复制了它们,因此现有的每个浏览器都有它们。此类功能在 W3C DOM 接口(interface)创建之前就已存在,并且在无处不在的地方被标记为“DOM 0”,这实际上意味着在 DOM 1 出现时由 Netscape Navigator 和 Internet Explorer 支持。

DOM 0 没有任何官方文档。 HTML5 是为浏览器中实现的 HTML 和 javascript 编写规范的尝试,因此它包括图像和选项构造函数,因此包括 DOM 0 功能,但它们没有这样标记或分类。

[...]

Yet, these constructors are clearly not intrinsic to the language specification of JavaScript

没有已发布的 JavaScript™ 规范,在 Mozilla Developer Network 处只有 JavaScript 文档(MDN)。另请注意,MDN 上的文档是一个公共(public) wiki,任何人 都可以创建和编辑,包括您。 :-)

您误以为 Mozilla 的文档是某种完整的 JavaScript™ 规范——事实并非如此。不是很远。它实际上只是感兴趣的人添加的文档,主要是通过浏览浏览器并查看它的作用。还有一个JavaScript Reference ,但您可能还会发现缺少这一点。

[...]

HTMLImageElement Mozilla documentation

指向 Gecko DOM 引用的链接记录了 W3C HTMLImageElementInterface 的 JavaScript 实现,它没有 Image 构造函数。

Contemporary precedent for Image() constructor use at Mozilla

这表明它存在,但没有方便的地方来记录它。它可能最好记录在 JavaScript Reference 中.如果您想添加它,请获取一个 MDN 帐户(免费,非常简单)并添加它。

编辑

现在有一个 Image MDN 上链接到相关标准的文章。

2015 年 5 月 25 日编辑

Option 构造函数是 documented in HTML5 .

关于javascript - `new Image()` 和 `new Option()` 等构造函数记录在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com