js繼承有5種實現方式

2021-06-18 11:09:31 字數 2044 閱讀 7005

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實現繼承的5種方式

js是門靈活的語言,實現一種功能往往有多種做法,ecmascript沒有明確的繼承機制,而是通過模仿實現的,根據js語言的本身的特性,js實現繼承有以下通用的幾種方式 1.使用物件冒充實現繼承 該種實現方式可以實現多繼承 實現原理 讓父類的建構函式成為子類的方法,然後呼叫該子類的方法,通過this關...

js實現繼承的5種方式

js是門靈活的語言,實現一種功能往往有多種做法,ecmascript沒有明確的繼承機制,而是通過模仿實現的,根據js語言的本身的特性,js實現繼承有以下通用的幾種方式 1.使用物件冒充實現繼承 該種實現方式可以實現多繼承 實現原理 讓父類的建構函式成為子類的方法,然後呼叫該子類的方法,通過this關...

js實現繼承的5種方式

js是門靈活的語言,實現一種功能往往有多種做法,ecmascript沒有明確的繼承機制,而是通過模仿實現的,根據js語言的本身的特性,js實現繼承有以下通用的幾種方式 1.使用物件冒充實現繼承 該種實現方式可以實現多繼承 實現原理 讓父類的建構函式成為子類的方法,然後呼叫該子類的方法,通過this關...