Javascript 为什么有一个HTMLAudioElement和一个单独的音频类?

Javascript 为什么有一个HTMLAudioElement和一个单独的音频类?,javascript,html5-audio,web-audio-api,Javascript,Html5 Audio,Web Audio Api,这两者有什么区别 根据本文,我通过以下操作创建了一个新的HTMLAudioElement: var audio = new Audio(); 这与调用document.createElement('audio')得到的对象有何不同 其中一个比另一个更能证明未来吗?在哪些情况下,我应该选择一种而不是另一种?(以及您链接到的MDN文章)new Audio()构造函数只创建一个HTMLAudioElement。创建一个HTMLxElement,因此它们是等效的。浏览器实现了完整的规范 newaudi

这两者有什么区别

根据本文,我通过以下操作创建了一个新的HTMLAudioElement:

var audio = new Audio();
这与调用
document.createElement('audio')
得到的对象有何不同

其中一个比另一个更能证明未来吗?在哪些情况下,我应该选择一种而不是另一种?

(以及您链接到的MDN文章)
new Audio()
构造函数只创建一个
HTMLAudioElement
。创建一个
HTMLxElement
,因此它们是等效的。浏览器实现了完整的规范


newaudio()
的优点是更具声明性(您不必担心它与DOM的关系)。另一方面,没有
新视频()
,因此为了保持一致性,您可能会发现使用
createElement

您使用的浏览器很有帮助?我在Chrome上得到了所有的标准DOM方法。嗯,你是对的,DOM方法在那里……编辑我的问题……它们应该是一样的。一些标记在
HTMLSomethingElement
document.createElement
之上和之外有专门的构造函数。值得注意的是,
图像
音频
,以及
选项
,可能更多。实际上,它看起来像是
对象.getPrototypeOf(新音频)
对象.getPrototypeOf(document.createElement('Audio')
在Chrome中都返回
HTMLAudioElement