1:基本概念
原型鏈:每個建構函式都有乙個prototype,每個prototype都包含乙個指向建構函式的指標,而每個例項都包含乙個指向prototype的內部指標。當
當我們令乙個prototype等於另乙個型別的例項,此時這個prototype就繼承了另乙個型別的prototype。
2:原型搜尋機制
當我們讀取乙個屬性時的過程:①例項屬性②例項.prototype③例項.prototype.prototype……最後搜尋object prototype
3:預設的原型object
所有函式的預設原型都是object的例項,因此預設原型都會包含乙個內部指標,指向object.prototype,所以所有自定義型別也都會繼承tostring(),valueof()等預設方法的原因
4:謹慎的定義方法
①給原型新增方法的**一定要放在替換原型的語句之後
//替換原型,繼承supertype()
subtype.prototype = new
supertype();
//新增新方法
subtype.prototype.getsubvalue = function
();
②通過原型鏈實現繼承時,不能使用物件字面量建立原型方法,這樣會重寫原型鏈
原型 原型鏈 繼承
原型 是function物件的乙個屬性,它定義了建構函式 製造出的物件 的公共祖先。通過該建構函式產生的物件,可以繼承該原型的屬性和方法。原型也是物件 這定義有點模糊,用 解釋一下 我們在控制台中列印出了這個,首先son物件的建構函式是foo,但是我們的foo中什麼屬性都沒有,怎麼會出現乙個 pro...
原型 原型鏈 繼承
在 js 中,一切皆物件!下面就讓我們從建立物件開始,逐步學習js中的核心知識 原型,原型鏈,繼承等 1.字面量方式建立物件 var obj var obj1 2.使用 new object 的方式建立物件 var obj2 new object obj2.name 張三 obj2.age 13 o...
原型鏈繼承
一 例項化物件 給物件增加屬性和方法 function person name,age person.prototype.sayhi function 任何乙個建構函式都有乙個屬性 prototype 原型 這個原型是乙個物件,這個物件中所有的屬性和方法都可以可以被建構函式建立的例項訪問。二 建構函...