1.
/* -- 類式繼承 -- */
//先宣告乙個超類
function person(name)
//給這個超類的原型物件上新增方法 getname
person.prototype.getname = function()
//例項化這個超
var a = new person('darren1')
console.log(a.getname());//darren1
//再宣告類
function programmer(name, ***)
//這個子類的原型物件等於超類的例項
programmer.prototype = new person();
// 因為子類的原型物件等於超類的例項,所以prototype.constructor這個方法也等於超類建構函式,你可以自己測試一下,如果沒這一 步,console.log(programmer.prototype.constructor這個是person超類的引用,所以要從新賦值為自己本 身
console.log(programmer.prototype.constructor);
/*function person(name) */
programmer.prototype.constructor = programmer;
console.log(programmer.prototype.constructor);
/*function programmer(name, ***)
*///子類本身新增了get*** 方法
programmer.prototype.get*** = function()
//例項化這個子類
var _m = new programmer('darren2', 'male');
//自身的方法
console.log(_m.get***());//male
//繼承超類的方法
console.log(_m.getname());//darren2
2./* -- clone()方法封裝的原型式繼承 -- */
//clone()函式用來建立新的類person物件
var clone = function(obj) ;
//這句是原型式繼承最核心的地方,函式的原型物件為物件字面量
_f.prototype = obj;
return new _f;
}//先宣告乙個物件字面量
var person =
}//不需要定義乙個person的子類,只要執行一次轉殖即可
var programmer = clone(person);
//可以直接獲得person提供的預設值,也可以新增或者修改屬性和方法
alert(programmer.getname())
programmer.name = 'darren2'
alert(programmer.getname())
//宣告子類,執行一次轉殖即可
var someone = clone(programmer);
4、繼承的第四種方式:真正原型鏈方式,即子類通過prototype將所有在父類中通過prototype追加的屬性和方法都追加到child,從而實現了繼承
function person()
person.prototype.hello = "hello";
person.prototype.sayhello = function()
function child()
child.prototype = new person();//這行的作用是:將parent中將所有通過prototype追加的屬性和方法都追加到child,從而實現了繼承
child.prototype.world = "world";
child.prototype.sayworld = function()
var c = new child();
c.sayhello();
c.sayworld();
js繼承之 原型式繼承
借助原型可以基於已有的物件建立新物件,同時還不必因此常見自定義型別。為了達到這個目的,他給出了如下函式 function object o f.prototype o return new f 在object 函式內部,先建立乙個臨時性的建構函式,然後將傳入的物件作為這個建構函式的原型,最後返回了這...
原型式繼承
var person alert person.name li function create obj 建立空的建構函式 df.prototype obj 將引數物件的屬性方法賦給建構函式 return new df 返回該建構函式的例項物件 var man create person 試過直接將p...
JavaScript 繼承 原型式繼承
繼承 原型式繼承 原型式繼承並沒有使用嚴格意義上的建構函式,是通過借助原型基於已有的物件建立新物件,同時還不必建立自定義型別。使用原型式繼承的主要思路如例1所示 例1 function object o f.prototype o return new f 將例1進行分析可知 在object函式的內...