Javascript 诸如‘new Image()’和‘new Option()’之类的构造函数记录在哪里?
不是在Mozilla,而是:Javascript 诸如‘new Image()’和‘new Option()’之类的构造函数记录在哪里?,javascript,dom,Javascript,Dom,不是在Mozilla,而是: 对于图像: 感谢您的识别 它提供了DOM接口构造函数的详细信息 对于选项: 还提供了DOM接口构造函数的详细信息。 (发现时使用: ) 鉴于这些参考文献,下面将询问mozilla.org,是否记录了相同的参考文献 具体来说,在mozilla.org中,像newimage()和newoption()这样的构造函数是在当代上下文中记录的吗 古老的 Image()定义于 Option()定义于 描述这些构造函数的存在,这些构造函数将它们作为固有的JavaSc
- 对于
:图像
感谢您的识别
它提供了DOM接口构造函数的详细信息 - 对于
:选项
还提供了DOM接口构造函数的详细信息。
(发现时使用:
)
mozilla.org
,是否记录了相同的参考文献
具体来说,在
mozilla.org
中,像newimage()
和newoption()
这样的构造函数是在当代上下文中记录的吗
古老的
定义于Image()
定义于Option()
javascript: alert([new Image(), '\n\n', new Option()])
通过显示
[对象HTMLImageElement]
,[object HTMLOptionElement]
从修辞上讲,那么:
javascript:alert([new Anchor(), new Preserve(), new Form(),,, ])
还有哪些原始元素DOM构造函数?或者,没有了
合并new Image()
和new Option()
等编程定义来解释它们的缺失,这是否令人厌恶,也与Mozilla使用的DOM范式不一致?然而,这些构造函数显然不是JavaScript语言规范的固有特性,当然也不是HTML。那么,当前的正确范例(源自mozilla.org
)到底在哪里全面描述了它们,包括参数类型和顺序
参考资料:
旁白:(请不要被这件事分散注意力-找到文章标题中指定的相关文件是唯一的考虑因素) 这促使进行了以下检查。这只是一个观察
javascript:
alert([ Option, Image,
JSON, Math, Error,
Array, Boolean, Date, Function,
Number, Object, RegExp, String ].join("\n\n"));
alert( Image.toSource() );
在FireFox中生成:
[对象选项]
[对象图像]
[对象JSON]
[对象数学]
函数错误(){
[本机代码]}
函数数组(){
[本机代码]}
布尔函数(){
[本机代码]}
功能日期(){
[本机代码]}
函数函数(){
[本机代码]}
函数号(){
[本机代码]}
函数对象(){
[本机代码]}
函数RegExp(){
[本机代码]}
函数字符串(){
[本机代码]}
及
({})
但是
图像是否是构造函数?这个问题的答案(大概)可以在回答这个帖子标题中问题的文件中找到。这应该强调在适当的文档中编目
图像
和选项
等的不一致性、异常和不规则性。实际上,我从未使用过构造函数参数。我只是创建对象,然后填充成员
var img=new Image();
img.src="path/to/image.jpg";
当我在Javascript中“遇到”一个新类时,我会使用JSON.stringify
并使用如下代码片段来探索它:
var obj_to_explore=new Image();
var dbg=[]
for(var i in obj_to_explore){
dbg.push(i+": "+obj_to_explore[i]);
}
//alert("explored object: " + dbg.join(", "))
console.log("explored object: " + dbg.join(", "));
因为(在谷歌上)查找特定成员名称的信息要比查找功能描述的信息容易得多。JavaScript和™ (Mozilla(又名Gecko)为DOM操作实现的ECMAScript)和通用术语“javascript”,用于描述其他浏览器中的类似脚本环境(例如IE中的JScript) 古代文献, [...] 描述这些构造函数的存在性,这些构造函数将它们关联为 固有的JavaScript语言组件,这是不正确的
javascript: alert([new Image(), '\n\n', new Option()])
你是怎么得出这个结论的?JavaScript™ 属于Mozilla,因此他们可以指定它包含他们想要的任何内容。JavaScript™ 从一开始就有了一个映像和选项构造函数,其他实现已经复制了它们,因此存在的每个浏览器都有它们。这些特性在创建W3CDOM接口之前就已经存在,并且在普遍存在的情况下,被标记为“DOM 0”,这实际上意味着在DOM 1出现时,Netscape Navigator和Internet Explorer支持这些特性
DOM 0在任何地方都没有正式文档记录。HTML5试图为浏览器中实现的HTML和javascript编写规范,因此它包括图像和选项构造函数,还包括DOM 0特性,但它们没有这样的标签或分类
[……]
然而,这些构造函数显然不是语言固有的
JavaScript规范
没有针对JavaScript发布的规范™, 只有位于(MDN)的JavaScript文档。还要注意,MDN上的文档是一个公共wiki,任何人都可以创建和编辑,包括您。:-) 您错误地认为Mozilla的文档是某种完整的JavaScript规范™—事实并非如此。不远。它实际上只是由感兴趣的人添加的文档,主要是通过浏览浏览器,了解它的功能。还有一个问题,但你可能也会发现这方面的不足 [……] HTMLImageElement Mozilla文档 Gecko DOM参考的链接记录了W3C HTMLImageElementInterface的JavaScript实现,该接口没有图像构造函数 Mozilla上使用Image()构造函数的当代先例 这表明它存在,但没有方便的地方记录它。最好将其记录在文档中。如果你想添加它,获得一个MDN帐户(免费,非常简单)并添加它 编辑 现在MDN上有一篇文章链接到相关标准 2015年5月25日编辑
选项构造函数是。FWIW Microsoft在MSDN上有这两个构造函数的文档:
- HTML5
DOM选项类