JS仿Base.js實現(xiàn)的繼承示例
本文實例講述了JS仿Base.js實現(xiàn)的繼承。分享給大家供大家參考,具體如下:
var Klass = function() {};
Klass.extendClass = (function() {
var F = function() {};
return function(C, P) {
F.prototype = P.prototype;
C.prototype = new F();
C.uper = P.prototype;
C.prototype.constructor = C;
};
})();
Klass.extend = function(props) {
var _slice = Array.prototype.slice;
var Glass = function() {
/*if (Glass.uper && Glass.uper.hasOwnProperty("init")) {
Glass.uper.init.apply(this, _slice.call(arguments))
}*/
if (Glass.prototype.hasOwnProperty("init")) {
Glass.prototype.init.apply(this, _slice.call(arguments));
}
};
Klass.extendClass(Glass, this);
Glass.extend = this.extend;
for (var key in props) {
if (props.hasOwnProperty(key)) {
Glass.prototype[key] = props[key];
}
}
return Glass;
};
example:
var A = Klass.extend({
init: function(name) {
this.name = name;
console.log('A constructor is running!');
},
getName: function() {
return this.name;
}
});
var B = A.extend({
init: function(name) {
this.name = name;
console.log('B constructor is running!');
},
getName: function() {
return this.name;
},
a: 'b'
});
var C = B.extend({
init: function(name) {
console.log('C constructor is running!');
},
c: 'c',
getName: function() {
var name = C.uper.getName.call(this);
return 'Hi, I\'m' + this.name;
}
});
var c1 = new C('zlf');
console.log(c1.getName());
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- Prototype使用指南之base.js
- js中繼承的幾種用法總結(jié)(apply,call,prototype)
- js的2種繼承方式詳解
- 實現(xiàn)JavaScript中繼承的三種方式
- JavaScript是如何實現(xiàn)繼承的(六種方式)
- 前端開發(fā)必須知道的JS之原型和繼承
- JS繼承--原型鏈繼承和類式繼承
- Extjs學(xué)習(xí)筆記之八 繼承和事件基礎(chǔ)
- Javascript 繼承機制的實現(xiàn)
- js實現(xiàn)繼承的5種方式
- javascript的函數(shù)、創(chuàng)建對象、封裝、屬性和方法、繼承
- 深入理解JavaScript是如何實現(xiàn)繼承的
- 用JavaScript實現(xiàn)單繼承和多繼承的簡單方法
相關(guān)文章
JavaScript實現(xiàn)動畫打開半透明提示層的方法
這篇文章主要介紹了JavaScript實現(xiàn)動畫打開半透明提示層的方法,涉及javascript操作DOM的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
js 轉(zhuǎn)json格式的字符串為對象或數(shù)組(前后臺)的方法
下面小編就為大家?guī)硪黄猨s 轉(zhuǎn)json格式的字符串為對象或數(shù)組(前后臺)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

