JS原型對象通俗"唱法"
1.關于原型對象的重要知識點
首先要知道一個很重要的知識點,一句話:所有對象都有原型對象.
2. 對比其他語言的理解
原型對象,就是其它語言中的類中的靜態(tài)屬性和靜態(tài)方法,總是是靜態(tài)-static就對了.原理是: 內存中只有一份.
3. 在內存中的形象圖:
首先,在產生js對象之前,我們需要創(chuàng)造一個構造函數(這都不知道,那就不要往下看了),如下:
function Person(name_, age_) {
this.name = name_;
this.age = age_;
}
下面,我們就要new 對象了,這里,我們new三個(Person)對象,"張三" "李雷" "韓梅梅",他們來自同一個構造函數Person:
內存中就這樣了,每個對象,都有自己的 name, age 內存.這里new了多少個對象,就要開辟多少塊name, age內存.
看到這,應該還是比較好理解的. 下面我們添加一條屬性.location屬性,如下:
function Person(name_, age_) {
this.name = name_;
this.age = age_;
this.location = "地球";
}
這時候 我們在new這三個人. 內存情況如下:
這里我們看,三個對象都有一個"地球"的內存空間. 這里你要動動大腦了, 三個人都有地球的內存,我們是不是可以這樣呢?
你看這樣好不好呢? 這樣只需要一個地球,大家都可以用了. 看到這,好吧,公用的那個空間如果是個對象的話,就是所謂的原型對象了.餓?就這樣?
是的,就這樣.
4. 從代碼的層次上介紹原型對象.
上圖是內存中的對象,我們現(xiàn)在從代碼的從面操作.
[code]
function Person(name_, age_) {
this.name = name_;
this.age = age_;
this.location = "地球";
}
相關文章
基于JavaScript實現(xiàn)簡單抽獎功能代碼實例
這篇文章主要介紹了基于JavaScript實現(xiàn)簡單抽獎功能代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10微信小程序 子級頁面返回父級并把子級參數帶回父級實現(xiàn)方法
這篇文章主要介紹了微信小程序 子級頁面返回父級并把子級參數帶回父級實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08