簡體   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