JS物件導向 建構函式 繼承

2021-09-13 21:54:08 字數 833 閱讀 6283

繼承 : 子類繼承父類的屬性和方法

好處 : 減少**量, 公共的父類可以復用. 降低耦合度.

js裡實現繼承的方法 : 

1. 通過改變構造建構函式中物件的指向實現繼承

2. 通過原型鏈實現繼承.

function animal()

function cat()

var cat = new cat(); //new出乙個例項

改變呼叫物件的方法 :

1. call()  引數1: 要改變成的物件, 引數2: 往後多個引數: fun的引數

var obj = {};

function test(a,b,c)

test.call(obj,1,2,3);

test(); //{},1,2,3

原型鏈實現繼承 :

使用建構函式的prototype 屬性, 如果cat 建構函式的原型物件被賦值成了 animal 建構函式的例項物件, 因為所有cat 建構函式的例項物件都會擁有自己建構函式原型物件裡的 所有屬性和方法, 所以cat建構函式的例項物件裡 就會擁有animal 建構函式裡的所有屬性和方法.

無法通過construtor 屬性找到自己的建構函式

cat.prototype = new animal();

var cat1 = new cat();

console.log(cat1.species, cat1.place);

//修復 constructor 問題

cat.prototype.constructor = cat;

Js物件導向建構函式繼承

建構函式繼承 function animal function dog name,color 如果 狗 的prototype物件,指向乙個animal的例項,那麼所有 狗 的例項,就能繼承animal了。dog.prototype new animal dog.prototype.construct...

js 物件導向 建構函式

面向過程的時候我們寫 的方式是獲取元素 定義訊號量 定義鎖都是遇見需求就定義乙個變數 但是 無法復用 並且主要就是定義的 是變數 物件導向就是操作的是物件 把寫 的風格從面向過程改為物件導向 把變數封裝成物件即可 面向過程 var username 王老五 var age 13 var 男 cons...

JS物件導向程式設計(二) 建構函式的繼承

物件之間繼承的 5 中方法.比如,現在有乙個 動物 物件的建構函式.function animal 還有乙個 貓 物件建構函式 function cat name,color 怎樣才能使貓繼承動物呢?一.建構函式繫結 function cat name,color var cat1 new cat ...