js繼承的實現

2021-07-03 11:18:17 字數 2044 閱讀 4227

js繼承有5種實現方式: 

1、繼承第一種方式:物件冒充 

function parent(username) 

} function child(username,password) 

} var parent = new parent("zhangsan"); 

var child = new child("lisi","123456"); 

parent.hello(); 

child.hello(); 

child.world(); 

2、繼承第二種方式:call()方法方式 

call方法是function類中的方法 

call方法的第乙個引數的值賦值給類(即方法)中出現的this 

call方法的第二個引數開始依次賦值給類(即方法)所接受的引數 

function test(str) 

var object = new object(); 

object.name = "zhangsan"; 

test.call(object,"langsin");//此時,第乙個引數值object傳遞給了test類(即方法)中出現的this,而第二個引數"langsin"則賦值給了test類(即方法)的str 

function parent(username) 

} function child(username,password) 

} var parent = new parent("zhangsan"); 

var child = new child("lisi","123456"); 

parent.hello(); 

child.hello(); 

child.world(); 

a、第乙個引數與call方法的第乙個引數一樣,即賦值給類(即方法)中出現的this 

b、第二個引數為陣列型別,這個陣列中的每個元素依次賦值給類(即方法)所接受的引數 

function parent(username) 

} function child(username,password) 

} var parent = new parent("zhangsan"); 

var child = new child("lisi","123456"); 

parent.hello(); 

child.hello(); 

child.world(); 

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(); 

5、繼承的第五種方式:混合方式 

混合了call方式、原型鏈方式 

function parent(hello) 

parent.prototype.sayhello = function() 

function child(hello,world) 

child.prototype = new parent();//將父類的方法繼承過來 

child.prototype.sayworld = function() 

var c = new child("zhangsan","lisi"); 

c.sayhello(); 

c.sayworld();

js繼承的實現

1 繼承第一種方式 物件冒充 function parent username function child username,password var parent new parent zhangsan var child new child lisi 123456 parent.hello c...

JS繼承的實現

1.常用的實現繼承的方法有 2.方法1 利用call實現繼承 如下 父函式 function person name,age 子函式 function son name,age let son new son 張三 18 console.log son.say 我叫 張三 年齡 18通過call方法...

JS實現繼承

1.使用物件冒充實現繼承 該種實現方式可以實現多繼承 實現原理 讓父類的建構函式成為子類的方法,然後呼叫該子類的方法,通過this關鍵字給所有的屬性和方法賦值 function parent firstname function child firstname var mychild new chi...