两者有什么区别?
根据mdn我通过执行以下操作创建一个新的 HTMLAudioElement:
var audio = new Audio();
这与我通过调用 document.createElement('audio')
获得的对象有何不同?
其中一个比另一个更适合 future 吗?在什么情况下我应该选择其中之一?
最佳答案
According to the spec (以及您链接到的 MDN 文章)new Audio()
构造函数只是创建一个 HTMLAudioElement
。 Document.createElement创建一个 HTMLxElement
,因此它们是等效的。浏览器实现了完整的规范,所以 they aren't concerned .
new Audio()
的优点是可以说更具声明性(您不一定关心它与 DOM 的联系)。另一方面,没有 new Video()
,因此为了保持一致性,您可能会发现使用 createElement
很有帮助。
关于javascript - 为什么有 HTMLAudioElement 和单独的 Audio 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709942/