我是JavaScript新用戶。正如我們所知,Object是窗口上的屬性,窗口如何成爲Object的實例?他們分享一些方法嗎?我能創建一個這樣的對象嗎?對不起,我的英文,謝謝。 :)對象是窗口(全局)的屬性,窗口是對象的實例?
window.hasOwnProperty("Object"); // return true
window instanceof Object // return true
我是JavaScript新用戶。正如我們所知,Object是窗口上的屬性,窗口如何成爲Object的實例?他們分享一些方法嗎?我能創建一個這樣的對象嗎?對不起,我的英文,謝謝。 :)對象是窗口(全局)的屬性,窗口是對象的實例?
window.hasOwnProperty("Object"); // return true
window instanceof Object // return true
簡短的答案是,全球Window對象是一個對象,可以是思想爲對象的實例,但在JavaScript中,這是所有合成。
的文藝青年最愛的答案...
其他面向對象的語言來到JavaScript的如C++或Java可能會造成混淆。與其他語言相比,JavaScript不是純粹的OO語言。特別是,傳統意義上沒有被動地作爲實例和子類的模板的「類」純聲明。作爲一種解釋型語言(而不是諸如C++和Java之類的編譯語言),JavaScript基於「原型」功能;類/子類的關係是模擬通過實例如何實例化和原型參考的「鏈」通過每個函數的__proto__
屬性。
儘管class
關鍵字已被添加到最近的JavaScript標準中,但其實現基於先前存在的函數定義和原型鏈機制。在調用new
之前,通過設置功能的prototype
屬性可以實現「子分類」。這將創建一個對象實例,其__proto__
屬性由prototype
屬性的值定義。
當查找成員數據和方法時,如果不在當前實例中,則搜索__proto__
屬性鏈,直到找到該成員或達到鏈尾。