今天跟大家分享下js 之 繼承關係的知識。
即子類通過prototype將所有在父類中通過prototype追加的屬性和方法都追加到child,從而實現了繼承。
為了讓子類繼承父類的屬性(也包括方法),首先需要定義乙個建構函式。然後,將父類的新例項賦值給建構函式的原型。
function
parent()
function
child()
child.prototype=
newparent()
;//核心:子類繼承父類,通過原型形成鏈條
var test=
newchild();
console.
log(test.name)
;console.
log(test.***)
;
備註:在js中,被繼承的函式稱為超型別(父類、基類),繼承的函式稱為子型別(子類、派生類)。
使用原型繼承存在兩個問題:
一是麵量重寫原型會中斷關係,使用引用型別的原型,
二是子型別還無法給超型別傳遞引數
function
parent()
function
child()
var test =
newparent()
;console.
log(test.name)
;
call方法是function類中的方法
call方法的第乙個引數的值賦值給類(即方法)**現的this
call方法的第二個引數開始依次賦值給類(即方法)所接受的引數
function
test
(str)
var object =
newobject()
;object.name =
"zhangsan"
;test.
call
(object,
"langsin");
//此時,第乙個引數值object傳遞給了test類(即方法)**現的this,
// 而第二個引數"langsin"則賦值給了test類(即方法)的str
function
parent
(username)
}function
child
(username,password)
}var parent =
newparent
("zhangsan");
var child =
newchild
("lisi"
,"123456");
parent.
hello()
; child.
hello()
; child.
world()
;
function
parent
(username)
}function
child
(username,password)
}var parent =
newparent
("zhangsan");
var child =
newchild
("lisi"
,"123456");
parent.
hello()
; child.
hello()
; child.
world()
;
function
parent()
function
borther()
function
child()
child.prototype=
newparent()
;var test=
newparent()
;console.
log(test.
borther()
)
js中的繼承關係是很重要的技術知識了,經常會用到,不了解的童鞋需要加緊學習哦! js繼承之原型繼承
物件導向程式設計都會涉及到繼承這個概念,js中實現繼承的方式主要是通過原型鏈的方法。每建立乙個函式,該函式就會自動帶有乙個prototype屬性。該屬性是個指標,指向了乙個物件,我們稱之為原型物件。什麼是指標?指標就好比學生的學號,原型物件則是那個學生。我們通過學號找到唯一的那個學生。假設突然,指標...
js中的繼承關係,詳解
在js中繼承分為兩種 1.偽類繼承 2.原型鏈繼承 1.偽類繼承 借用建構函式來使用父類中的屬性,方法。不能繼承父類的建構函式原型 function animal name,age function dog gender var dog new dog tom 3,male console.log ...
類的關係之繼承
子類在呼叫構造方法時預設呼叫父類的構造方法 程式塊子類不能直接呼叫,子類執行構造方法之前,預設呼叫了父類的構造方法,父類的構造方法之前預設執行父類的塊this和super都是指代詞,代替的是物件 this代替的是當前執行方法時的那個物件,不一定是當前類的 super代替的是當前執行方法時的物件的父類...