【发布时间】:2009-08-20 06:47:01
【问题描述】:
我想做一个构造函数来创建一个 documentElement 对象。
例如,考虑 new Audio() 构造函数 - 它创建一个 documentElement 对象,如果您向它传递一些变量,它会使用属性填充新的 documentElement。它不会将其插入 DOM,它只是创建对象。
所以,问题是 - 是什么让 documentElement 与普通 javascript 对象(属于 {property: value} 类型)不同,您能否像为对象编写构造函数一样为它们编写构造函数?
编辑:
我正在玩弄的是在没有它的浏览器中重新创建新的 Audio() 构造函数,使用 quicktime 或 flash HTMLObjectElement 代替 HTMLAudioElement。
audio.constructor 引用 HTMLObjectElement 对我来说没问题,因为在支持它的浏览器中使用 new Audio() 的结果是 audio.constructor 引用 HTMLAudioElement。
我不确定 Audio.prototype。当我在支持音频的浏览器中查询 console.log(Audio.prototype) 时,它们什么也没有返回——甚至在 console.log 中没有空行——所以这让我很困惑。不过,如果我理解正确,这不会影响我的目标。
目的是能够使用 Audio 构造函数进行编码,并让浏览器在本地处理它或在需要时设置插件实例。
【问题讨论】:
-
我刚刚在这里看到了一个有用的注释:stackoverflow.com/questions/367768/… Claudia 说:如果构造函数返回一个对象,则使用该对象而不是 this
-
Audio构造函数创建了一个documentElement?你有一些参考资料吗?因为我不知道任何Audio构造函数。 -
它是新的。它伴随 html5 并允许您从 javascript 播放声音。查看博文下半部分html5doctor.com/native-audio-in-the-browser
-
我知道 HTML5 中的音频内容,但我不知道有一个 JavaScript 构造函数。我认为您必须在 DOM 中查询
audio标记才能访问音频 API。
标签: javascript dom functional-programming constructor