JavaScript的繼承實現方式

2021-09-08 01:21:03 字數 1314 閱讀 6537

function

a()function

b()

//測試

var testb = new

b();

alert(testb.name)

//->json;

2.實現繼承,方法二:prototype模式

function

a()function

b()

b.prototype = new

a();

b.prototype.constructor =b;

var testb=new

b();

alert(testb.name)

//->json

函式定義的時候函式本身預設有乙個prototype的屬性,prototype又有constructor和__proto__屬性,

而我們如果用new 運算子來生成乙個例項的時候只有constructor屬性。

3.基於原型的擴充套件,原型鏈的證明

可以看到b指向a函式,且在a的原型上有getsom方法。

這裡是a這個函式(指標)是沒有方法getsom的。

但是由於他是繼承自a,所以會去a上找getsom(原型鏈尋找方向是:b -> a,一直向上尋找,如果找不到就報undefined)

更直觀的說明函式定義字面量定義的異同:

因為字面量定義的時候,正在的是執行了 var c = new object();

new 與 字面量定義都是建立物件的兩種方式,所以兩個都是例項,且例項是沒有原型屬性的

JavaScript實現繼承方式

student.prototype new person 得到乙個 person 例項,並且這個例項指向構造器的 prototype 屬性和呼叫了建構函式,因為呼叫的建構函式,而 student 只是乙個類,並沒有例項化,只為了繼承,呼叫建構函式建立乙個例項,引數的問題就不容易解決。例如 當 per...

JS實現繼承 JavaScript

定義乙個父類 定義乙個動物類 function animal name 原型方法 animal.prototype.eat function food 複製 1.原型鏈繼承核心 將父類的例項作為子類的原型 function cat cat.prototype new animal cat.proto...

javascript實現繼承的幾種方式

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