2016-06-07 81 views
0

我目前在使用Mozilla开发人员网络作为参考学习JavaScript。JavaScript中的对象和接口之间的区别

令我困惑的是,MDN将对象称为接口。

例如:Document.createTreeWalker()

在底部,有到TreeWalker对象的链接,但它说:它创建的对象

接口:TreeWalker

哪有TreeWalker是一个接口,如果我可以实例化它? 而TreeWalker只是一个例子,几乎MDN中的每个对象都被称为接口。

我来自Java背景,所以在这种背景下使用接口对我来说是不清楚的。 JavaScript中的接口意味着什么与Java中的不同?

+1

Java标签不适合这个问题,因为它本质上不是Java。 –

回答

0

没有内置到JavaScript一个真正的接口。看起来他们指的是一个从接口继承的对象。在你的例子中Document.createTreeWalker()返回TreeWalker对象的一个​​实例。

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

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

Web标准使用接口定义语言或IDL中Web IDL描述来描述浏览器的行为对象独立的语言,例如的JavaScript,用于操纵它们。因此,TreeWalker被记录为Document Object Model (DOM) Level 2 Traversal and Range Specification

因此在某种意义上,MDN只是使用标准的词汇表来定义它所描述的浏览器对象所公开的接口。在多大程度上文件的主题将被描述为另一种语言的“界面”可能会根据具体情况而有所不同。


C.F.网络标准中使用的 interface的定义。