不是在Mozilla但是:
image
:option
:鉴于这些参考文献,如下所述,mozilla.org
是否记录相同内容是没有意义的。
具体而言,mozilla.org
处的构造函数如new Image()
和new Option()
在当代背景下记录了什么?
Image()
在http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/option.html Option()
描述了这些构造函数的存在,将它们作为内在的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
)完全描述它们,包括参数类型和顺序?
的引用:
Image()
constructor use at Mozilla 旁白:(请不要因此而分心 - 找到文章标题中指定的相关文件是唯一的考虑因素)
这answer提示进行以下检查。这只是一个观察。
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]
[object Math]
function Error(){ [本地代码]}
function Array(){ [本地代码]}
function Boolean(){ [本地代码]}
function Date(){ [本地代码]}
function Function(){ [本地代码]}
function Number(){ [本地代码]}
function Object(){ [本地代码]}
function RegExp(){ [本地代码]}
function String(){ [本地代码]}
和
({})
但
Error: ({}) is not a constructor
Source File: javascript:alert(new ({}));
Line: 1
Image是构造函数吗?答案(可能)可以在回答本帖子标题中提出的问题的文件中找到。这应该在适当的文件中强调编目Image
和Option
等的不一致,异常和不规范。
答案 0 :(得分:10)
JavaScript™(Mozilla的DOM操作ECMAScript的实现,又名Gecko)和用于描述其他浏览器中类似脚本环境的通用术语“javascript”(例如IE中的JScript)之间存在区别。 / p>
古老的文件, [...] 描述了这些构造函数的存在,将它们描述为 内在的JavaScript语言组件,这是不正确的。
你是如何得出这个结论的? JavaScript™属于Mozilla,因此他们可以指定它包含他们想要的任何内容。 JavaScript™从一开始就有一个Image和Option构造函数,其他实现已经复制它们,以便现有的每个浏览器都有它们。这些功能在创建W3C DOM接口之前就存在了,并且无处不在,标记为“DOM 0”,这实际上意味着在DOM 1时Netscape Navigator和Internet Explorer支持。
DOM 0未在任何地方正式记录。 HTML5是一种尝试编写HTML和javascript的规范,因为它在浏览器中实现,因此它包括Image和Option构造函数,因此包含DOM 0功能,但它们没有标记或分类。
[...]
然而,这些构造函数显然不是语言所固有的 JavaScript规范
没有已发布的JavaScript™规范,Mozilla Developer Network(MDN)上只有JavaScript文档。另请注意,MDN上的文档是任何人可以创建和编辑的公共Wiki,包括您。 : - )
你错误地认为Mozilla的文档是JavaScript™的某种完整规范 - 但事实并非如此。不是很长的路。它实际上只是由感兴趣的人添加的文档,主要是通过浏览浏览器并查看它的作用。还有一个JavaScript Reference,但您也可能会发现缺少。{/ p>
[...]
HTMLImageElement Mozilla文档
指向Gecko DOM参考的链接记录了W3C HTMLImageElementInterface的JavaScript实现,该实现没有 Image 构造函数。
Mozilla上使用Image()构造函数的当代先例
表明它存在,但没有方便的地方来记录它。最好记录在JavaScript Reference中。如果您想添加它,请获取一个MDN帐户(免费,非常简单)并添加它。
MDN现在有一篇Image文章链接到相关标准。
Option构造函数是documented in HTML5。
答案 1 :(得分:2)
答案 2 :(得分:1)
HTML 5
DOM选项类
http://dev.w3.org/html5/spec-preview/the-option-element.html
提供了几个构造函数来创建HTMLOptionElement对象(除了来自DOM Core的工厂方法,例如createElement()):Option(),Option(text),Option(text,value),Option(text,value, defaultSelected)和Option(text,value,defaultSelected,selected)。
答案 3 :(得分:0)
实际上,我从来不必使用构造函数参数。我只是创建了对象并随后填充了成员。
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(", "));
因为在特定成员名称上查找(在谷歌上)信息比在功能描述上更容易。