[英]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.