首頁  >  文章  >  web前端  >  深入理解js原型鏈

深入理解js原型鏈

零到壹度
零到壹度原創
2018-04-04 14:31:283262瀏覽

這篇文章主要介紹了深入理解js原型鏈,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

1、原型鏈:實例物件和原型物件之間的關係,這種關係透過原型(_proto_)來連結的

實例物件的原型_proto_指向的是該物件所在的建構函式的原型物件

建構子的原型物件(prototype)指向如果改變了,實例物件的原型(_proto_)指向也會發生改變


實例化Person物件並將其賦值給student的原型,那麼student的原型物件(prototype)指向改變了,其實例化物件stu跟著改變,所以SayHi無法使用,eat可以使用

2、實例物件指向object物件中的_proto_  為null

每個原型物件prototype都有自己的_proto_,而該_proto_又指向object,object的prototype的_proto_為null,因此實例物件最終指向為null  任何函數的_proto_都指向object的_proto_;

#3.改變原型指向之後加入方法,否則加入無效

               

#     中:

      


                 在這個物件上新增不會報錯

4、實例物件存取這個屬性,應該先從實例物件中找,找到了就直接用  ;

    找不到就去在指向的原型物件中找,找到了就使用


輸出  男  (實例物件中已經定義男)


#改變實例的屬性:per.sex =女,此時再次訪問就是  女

#

以上是深入理解js原型鏈的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn