[英]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只是在使用标准的词汇表,它定义了所描述的浏览器对象公开的接口。 在不同情况下,文档主题将以另一种语言描述为“界面”的程度可能会有所不同。
不,JavaScript实际上没有真正的接口类型或其他任何类型。 createTreeWalker()函数仅使用Object.create返回对象。
也可以看看:
JavaScript中没有内置真正的接口。 似乎他们指的是作为接口继承自的对象。 在您的示例Document.createTreeWalker()返回TreeWalker对象的实例。
// myTreeWalker is your object. TreeWalker is the interface.
var myTreeWalker = Document.createTreeWalker()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.