JS 之 繼承關係

2021-10-02 04:11:01 字數 2140 閱讀 2423

今天跟大家分享下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代替的是當前執行方法時的物件的父類...