JS this 與new 及原型鏈

2021-07-08 16:36:27 字數 941 閱讀 4470

用 new 呼叫時this 會指向空的物件,並且這個物件的原型指向myclass.prototype

再談原型鏈:

上圖對應的對應的**如下:

js用call實現繼承:

function

animal

(name)

}

function

cat(name)

var cat = new cat("black cat");

cat.showname();

animal.call(this) 的意思就是使用 animal物件代替this物件,那麼 cat中不就有animal的所有屬性和方法了嗎,cat物件就能夠直接呼叫animal的方法以及屬性了.

類似的多繼承(沒用原型鏈的方法)如下:

function

class10

()

} function

class11

()

} function

class2

()

原型 原型鏈 new做了什麼 繼承

比我們通過乙個建構函式new了乙個新物件,建構函式的原型prototype指向乙個物件,所有通過該建構函式new的新物件可以共享它所包含的屬性和方法。建構函式的原型prototype是乙個物件,那麼它也可以有自己的建構函式原型prototype,通過這樣,形成乙個原型鏈。原型鏈最終都可以上溯到obj...

原型及原型鏈

原型定義 原型是function物件的乙個屬性,它定義了建構函式製造出的物件的公共祖先。通過建構函式產生的物件,可以繼承該原型的屬性和方法。原型是物件屬性prototype對應的值。注 原型是乙個物件。我們可以直接在建構函式的prototype上直接新增屬性,也可以將建構函式的prototype指向...

new建構函式和原型鏈

new建構函式functionpeople name,age 這個函式是不是建構函式?他沒有被呼叫,用new呼叫後就是建構函式,不被new呼叫就不是建構函式 functionpeople name,age varobj people 小明 12 alert obj null alert obj.ag...