原型
object.
hasownproperty
(proname)
object:乙個物件的例項
propname:乙個屬性名稱的字串值
返回乙個布林值
原型鏈中的this
原型物件
原型物件的作用:
一般情況下,會把方法宣告在原型物件裡。目的是實現繼承。
當物件訪問自身屬性或方法時,先從自身找有沒有,如果有,就使 用,如果沒有,就去建構函式的原型上找。有就用。
例項化物件有乙個屬性,proto,這個屬性指向的 建構函式 的原型物件。
在建構函式裡設定的屬性和方法
原型鏈原型鏈的定義:當物件訪問屬性和方法時,先從自身呢開始查詢,如果沒找到,就去建構函式原型上去找,如果還沒找到,就去原型物件的原型物件上找
直到object.prototype.proto=null時,如果還沒找到,就返回undefined,這個查詢得過程就是原型鏈,原型鏈得作用就是為了繼承。
關係:instance.constructor.prototype = instance.proto
_proto_屬性值指向它的建構函式的prototype屬性值
判斷乙個屬性是不是自身的,hasownproperty()方法檢測乙個屬性是否存在於例項化物件還是原型中,這個方法只在(屬性存在於例項中,才會返回true)
原型鏈就是查屬性的順序; 繼承
原型鏈繼承的缺點:
1-1 .不能繼承建構函式內的屬性和方法
不能向建構函式內傳參
2-1 .修改建構函式
2-2 .優點 :可以向建構函式內傳參
.缺點 :不能原型物件上的屬性和方法
建構函式繼承:在建構函式內,調動繼承物件的建構函式,修改 this 指 向。
原型繼承的特點:只繼承共享的屬性和方法
總結:一共有4種繼承,1.原型鏈繼承 2.原型繼承 3.建構函式繼承 4組合繼承
原型連繼承:在乙個建構函式的原型上賦給另乙個建構函式例項化物件就是原型鏈繼承。
原型繼承:在乙個建構函式的原型上賦給另乙個建構函式
原型 原型鏈
var animal function var dog function animal.price 2000 dog.prototype animal var tidy new dog console.log dog.price 為什麼輸出 undefined console.log tidy.pr...
原型 原型鏈
在最近的原型和原型鏈的學習中,感覺壓力有點大,學習難度也比較大,但又很基礎很重要,我們在學習中得要下很大的功夫才行。無論什麼時候,只要建立了乙個新的函式,就會根據一組特定的規則為這個函式建立乙個prototype的屬性,prototype這個屬性指向函式的原型物件,然後所有的的原型物件都會有乙個co...
原型 原型鏈
1 所有的物件,都有prototype屬性。只不過 例項的prototype 是 undefined。2 所有的建構函式 都是 function 的例項。外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img jm7mc8gh 1597897515025 原型.png js中每個物件都有...