繁体   English   中英

JavaScript中对象和接口之间的区别

[英]Difference between object and interface in JavaScript

我目前正在使用Mozilla开发人员网络作为参考来学习JavaScript。

使我感到困惑的是,MDN将对象称为接口。

例如: Document.createTreeWalker()

在底部,有一个指向TreeWalker对象的链接,但是它说:

它创建的对象的接口 :TreeWalker

如果我可以实例化TreeWalker,该如何使其成为接口? 而TreeWalker只是一个例子,几乎MDN中的每个对象都称为接口。

我来自Java背景,因此我不清楚在这种情况下如何使用接口。 JavaScript中的接口意味着不同于Java中的接口吗?

在这种情况下出现“接口”,因为这是在MDN上描述的适用于(javascript)对象的标准中使用的术语。

Web标准使用接口定义语言Web IDL中描述的IDL来描述浏览器对象的行为,这些行为独立于用于操纵它们的语言(例如javascript)。 因此, TreeWalker文档对象模型(DOM)2级遍历和范围规范中被记录为“接口”

因此,从某种意义上说,MDN只是在使用标准的词汇表,它定义了所描述的浏览器对象公开的接口。 在不同情况下,文档主题将以另一种语言描述为“界面”的程度可能会有所不同。


CF Web标准中使用的接口定义。

不,JavaScript实际上没有真正的接口类型或其他任何类型。 createTreeWalker()函数仅使用Object.create返回对象。

也可以看看:

如何在JavaScript中实现接口

JavaScript是否具有接口类型(例如Java的“接口”)?

JavaScript中没有内置真正的接口。 似乎他们指的是作为接口继承自的对象。 在您的示例Document.createTreeWalker()返回TreeWalker对象的实例。

// myTreeWalker is your object. TreeWalker is the interface.
var myTreeWalker = Document.createTreeWalker()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM