【问题标题】:What are the predefined primitive constructors?什么是预定义的原始构造函数?
【发布时间】:2011-08-05 18:34:15
【问题描述】:

在浏览器体验中,编程的构造函数用于在该环境中生成工件。

  • 是否有所有预定义的原始构造函数的完整列表?
  • 某些构造函数是特定浏览器(Chrome、Opera、Safari 等)独有的吗?
  • 每个构造函数的参数类型、顺序和含义在浏览器之间是否相同?

以 FireFox 为例:

javascript:
  alert([
    "using browser environment:  \n"+window.navigator.userAgent,
      new Array(), new Boolean(), new Date(), new Function(),
        new Number(), new Object(), new RegExp(), new String(),
          new Error(), new Image(), new Option(),
     ] . join("\n\n"));

生成:(内容空洞的工件是不可见的)

使用浏览器环境:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3

 

2011 年 8 月 5 日星期五 11:25:15 GMT-0400(美国东部标准时间)

函数匿名(){}

0

[对象对象]

/(?:)/

 

错误

[对象 HTMLImageElement]

[对象 HTMLOptionElement]

FireFox 还有哪些其他基本构造函数(如果有的话)?

参考:
Where is the Documentation for all of the Javascript HTML Element Constructors?
Where are constructors such as, `new Image()` and `new Option()`, documented?
以下缺失的参考文献是疏忽。感谢TeslaNick's answer 促使他们加入。
Global Object constructors - MDN Docs
constructor - MDN Docs

【问题讨论】:

    标签: javascript dom


    【解决方案1】:

    Mozilla Developer Center on Javascript 是核心 javascript 构造函数的通用参考点。 DOM Reference 部分包含许多特定于浏览器环境的内容。

    在整个 MDC 的各个部分中记录了更多构造函数。 SVG、XUL、Canvas、WebGL 等都有自己的 API 并公开自己的对象。

    【讨论】:

    • 它们是什么,具体在哪里? IE。 developer.mozilla.org/en/DOM/FileReader是一个
    • 这里还有一些:XMLHttpRequest、Worker、Storage、Audio、XPCNativeWrapper、……所有预定义的构造函数都以大写字母开头吗?
    • 这是一个很好的经验法则,是的。在 Javascript 中,any 函数可能是构造函数、实用函数或两者兼而有之;这一切都取决于它的使用方式。请注意,某些构造函数可能不应该使用:你永远不想做var n = new HTMLDivElement(),你应该做var n = document.createElement('div')。出于好奇,为什么你需要知道所有的 JS 构造函数是什么?
    • “顶级”预定义、原始对象的列表(因此包括函数,并且由于是函数,这包括构造函数 - 但请参阅stackoverflow.com/questions/6988064/…)可以方便地避免“破坏”相同。列表还有助于枚举浏览器版本差异。
    猜你喜欢
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多