屬性和方法分開繼承:
1、屬性的繼承:呼叫父類的建構函式.call。
2、方法的繼承:for in,拷貝繼承(jquery也是採用拷貝繼承extend);
function
person
(name,***)
person.prototype.showname = function
()var p1 = new person('小強','男');
function
star
(name,***,job)
= person.prototype;//問題所在:出現物件引用,換成下面乙個函式呼叫。給子類增加的原型方法會增加到父類上。
extend(start,person); //完美
start.prototype.showjob = function
();var p2 = new strat('小明明','男','學生');
p2.showname();
function
extend
(obj1,obj2)
}
物件導向的繼承(拷貝繼承)
在原有物件的基礎上,稍微修改後得到新的物件 不會影響原物件的功能 子類不影響父類,子類可以繼承父類的一些功能 呼叫父類的建構函式,使用call方法改變this指向問題。for in 拷貝繼承 extend function createperson name,createperson.prototy...
物件導向之繼承(拷貝繼承)
js中的繼承,個人覺得一直是js的軟肋,當然自從es6中新增了extend,得到了很大的改觀,我們今天不對extend做介紹,主要介紹一下js中最早實現繼承的一些方法 function person name,age person.prototype.showname function var p ...
JS深拷貝繼承
所謂深拷貝,就是子物件不緊繼承父物件的非引用屬性,還能繼承父物件的引用屬性 object,array 當子物件對繼承的引用型別屬性做修改時,父物件的引用型別不會被修改。我們先寫個淺拷貝的封裝函式 function extendcopy parent for var i in parent child...