JS的幾種繼承方式

2021-09-13 03:40:52 字數 1271 閱讀 4093

js的繼承方式:

1、原型鏈繼承

function parent(name)

}function child(age)

}child.prototype = new parent("yang");

var c = new child();

c.sayname();

優點:寫法簡單易讀。

缺點:無法給父類傳參,無法實現多繼承

function parent(name)

}parent.prototype.sayhello = function()

function child(age)

}var c = new child(18);

parent.call(c,"yang");

c.sayname();

c.sayhello(); // is not a function

優點:寫法簡單易讀,可以傳遞引數給父類

缺點:只能繼承父類例項的屬性和方法,無法繼承原型鏈中的方法

function parent(name)

}parent.prototype.sayhello = function()

function child(age)

}child.prototype = new parent(); //繼承原型鏈上的方法

var c = new child(18);

parent.call(c,"yang"); // 繼承父類例項上的屬性和方法

c.sayname();

c.sayhello(); // hello

優點:可以實現多繼承,可以給父類傳遞引數,可以繼承原型鏈上面的方法

缺點:兩次呼叫父類例項

4、擴充套件object原型繼承

object.prototype.ext = function(obj)

}function person(name)

}person.prototype.hello = function()

function child(id)

}var p1 = new child("1001");

p1.ext(new person("yang"));

var p2 = new person("wang");

p1.hello(); // hello

優點:以實現多繼承,可以傳遞引數,可以繼承原型鏈上面的方法

js繼承幾種方式

js作為物件導向的弱型別語言,繼承也是其非常強大的特性之一。那麼如何在js中實現繼承呢?讓我們拭目以待。既然要實現繼承,那麼首先我們得有乙個父類,如下 定義乙個動物類 function animal name 原型方法 animal.prototype.eat function food 核心 將父...

幾種js的繼承方式

1 繼承第一種方式 物件冒充 function super username function sub username var supernew new super super var subnew new sub sub supernew.hello subnew.hello subnew.wo...

js的幾種繼承方式

方式一 原型鏈繼承 function parent parent.prototype.getparentname function 子類 function child 下面這步實現繼承,這步需要放在getchildname 之前,不然獲得子類方法無法使用 child.prototype new pa...