請問一下javascript里什么是面向對象 什么是構造函數 能給個具體完整的解釋嗎 謝謝
javascript面向對象
小超VSC
2016-10-13 14:16:17
TA貢獻66條經驗 獲得超26個贊
面向對象:
一切事物皆對象
對象具有封裝和繼承特性
對象與對象之間使用消息通信,各自存在信息隱藏
構造函數:
任何函數使用new表達式就是構造函數
每個函數都自動添加一個名稱為prototype屬性,這是一個對象
每個對象都有一個內部屬性?__proto__(規范中沒有指定這個名稱,但是瀏覽器都這么實現的) 指向其類型的prototype屬性,類的實例也是對象,其proto屬性指向“類”的prototype
TA貢獻1條經驗 獲得超0個贊
構造函數是不是也是一個對象,也就是一個包含屬性和行為的內存區,并且這個內存區中有一個prototype的指針指向了原型對象(公共的內存區),當我們用new 對象的時候,構造函數就會創建一個對象(內存區)并拷貝了構造函數這個對象中的屬性值與方法的數據,同時添加一個_proto_的指針變量拷貝了構造函數中的prototype這個指針變量所保存的原型對象的地址?這樣理解可以嗎? ?還有請問你能從內存的角度理解下原型鏈 還有Object與function的關系么,求教!
舉報