2016-06-07 74 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的定義。

相關問題