构造函数在哪里,例如`new Image()`和`new Option()`是否logging在案?
不是在Mozilla,而是:
- 对于
image
:
感谢Rickard的鉴定
http://www.w3.org/html/wg/drafts/html/CR/embedded-content-0.html#dom-image
它提供了DOM接口的构造函数细节。 - 可供
option
:
http://www.w3.org/html/wg/drafts/html/CR/forms.html#dom-option
也给出了DOM接口的构造函数的细节。
(使用:
http://www.google.com/search?client=ubuntu&channel=fs&q=constructor+site%3Adev.w3.org%2Fhtml5&ie=utf-8&oe=utf-8 )
鉴于这些参考文献, mozilla.org
是否如下文所述是相同的。
具体来说,在mozilla.org
是像在当代背景下logging的new Image()
和new Option()
构造函数?
古代文献 ,
-
Image()
在http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/image.html中定义 -
Option()
定义在http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/option.html
描述了这些构造函数的存在,暗示它们是内在的JavaScript语言组件,这是不正确的。
javascript: alert([new Image(), '\n\n', new Option()])
通过展示清楚地表明他们的显性存在
[object HTMLImageElement],
,[object HTMLOptionElement]
修辞,怎么样:
javascript:alert([new Anchor(), new Preserve(), new Form(),,, ])
还有什么其他的原始元素DOM构造函数? 或者,没有更多?
对Mozilla使用的DOM范式是否是讽刺的,是否与new Image()
和new Option()
等的编程定义合并,解释了它们的缺失? 然而,这些构造函数显然不是JavaScript的语言规范的内在,当然也不是HTML。 那么,究竟在哪里有一个正确的当前范式(来源于mozilla.org
)来描述它们,包括参数types和顺序?
引用:
- HTMLImageElement Mozilla文档
- 当前在Mozilla中使用
Image()
构造函数的先例 - 堆栈溢出相关的问题
撇开:(请不要分心 – 找出文章标题中指定的相关文件是唯一的考虑因素)
这个答案提示了下面的检查。 这只是一个观察。
javascript: alert([ Option, Image, JSON, Math, Error, Array, Boolean, Date, Function, Number, Object, RegExp, String ].join("\n\n")); alert( Image.toSource() );
在FireFox中生成:
[对象选项]
[object Image]
[对象JSON]
[对象math]
函数Error(){[native code]}
函数Array(){[native code]}
函数Boolean(){[native code]}
函数Date(){[native code]}
函数Function(){[native code]}
函数Number(){[native code]}
函数Object(){[native code]}
函数RegExp(){[native code]}
函数String(){[native code]}
和
({})
但
Error: ({}) is not a constructor Source File: javascript:alert(new ({})); Line: 1
图像是一个构造函数吗? 这个答案(大概)可以在回答这个post标题中提到的问题的文件中find。 这应该强调在适当的文件中编目Image
和Option
等的不一致,exception和不规范之处。
JavaScript™(用于Mozilla的DOM操作的ECMAScript的实现,又名Gecko)与用于描述其他浏览器(例如IE中的JScript)的类似脚本环境的通用术语“javascript”之间存在区别。
古代的文档,描述了这些构造函数的存在,暗示它们是内在的JavaScript语言组件,这是不正确的。
你如何得出这个结论? JavaScript™属于Mozilla,所以他们可以指定它包含任何他们想要的。 JavaScript™从一开始就有一个Image和Option的构造函数,其他的实现已经拷贝了它们,这样每个浏览器都有它们。 这些特性在创buildW3C DOM接口之前就已经存在,并且在无处不在的地方被标记为“DOM 0”,这实际上意味着在DOM 1的时候Netscape Navigator和Internet Explorer支持。
DOM 0没有正式logging在任何地方。 HTML5是为HTML和JavaScript编写规范的尝试,因为它在浏览器中实现,因此它包含Image和Option构造函数,因此包含DOM 0function,但未标记或分类。
[…]
但是,这些构造函数显然不是JavaScript的语言规范的内在
没有发布的JavaScript™规范, Mozilla开发者networking (MDN)上只有JavaScript文档。 另外请注意,MDN上的文档是任何人都可以创build和编辑的公开维基,包括您。 🙂
你错误地认为Mozilla的文档是JavaScript™的一个完整的规范,但事实并非如此。 没有太长的路要走。 这实际上只是感兴趣的人添加的文档,主要是通过浏览器浏览并查看它的function。 还有一个JavaScript参考 ,但你也可能会发现缺乏。
[…]
HTMLImageElement Mozilla文档
链接到Gecko DOM参考文档的W3C HTMLImageElementInterface的JavaScript实现没有Image构造函数。
当前在Mozilla中使用Image()构造函数的先例
这表明它存在,但没有方便的地方来logging它。 这可能是最好的文档在JavaScript参考 。 如果你想添加它,获得一个MDN帐户(免费,很容易),并添加它。
编辑
MDN现在有一篇Image文章,链接到相关标准。
编辑2015年5月25日
Option构造函数在HTML5中被logging 。
FWIW Microsoft在MSDN上为这两个构造函数提供了文档:
-
Image
-
Option
HTML 5
DOM选项类
http://dev.w3.org/html5/spec-preview/the-option-element.html
提供了几个构造函数用于创buildHTMLOptionElement对象(除了DOM Core的工厂方法,例如createElement()):Option(),Option(text),Option(text,value),Option(text,value,defaultSelected)和选项(文本,值,默认选中,选中)。
其实,我从来没有使用构造函数的参数。 我只是创build对象,然后填充成员。
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(", "));
因为在特定成员名称(而不是特征描述)上查找(在谷歌上)信息要容易得多。