简单的JS多重继承示例
2023-06-13 09:13:59 时间
$defined = function (v) {
return v != undefined;
}
Class = function () {
var base = {};
for (var k=0; k<arguments.length; k++) {
//{{new arguments[k]() with custom constructor field.
var o = arguments[k].prototype;
o.constructor = arguments[k];
arguments[k].call(o);
//}}
for (key in o) base[key] = o[key];
}
function Klass () {
// for every class one object cache.
var clso = null;
function klass() {
if (arguments.length<=0 && clso!=null) {
// hit cache.
return clso;
}
if ($defined(this.constructor.init)) {
// use init() for class initialization.
this.constructor.init.apply(this, arguments);
}
clso = this;
}
klass.prototype = base;
return klass;
}
return Klass();
}
A = new Class();
A.init = function () {
this.x = 400;
this.y = 300;
}
B = new Class(A);
B.init = function () {
this.y = 200;
this.z = 100;
}
C = new Class(B);
C.init = function () {
this.z = 0;
}
c = new C();
alert(c.x);
alert(c.y);
alert(c.z);
相关文章
- js定时器与延时器_JS做定时器倒计时
- Js生成二维码_js在线生成二维码
- js获取当前年月日时分秒_js获取当前系统时间年月日
- js 数组去除重复数据-当WPS开始像支持VBA一样支持JS语言时,微软又该何去何从?
- js 继承的是什么?如何实现继承?
- js发送通知
- js闭包特性
- JS RegExp的实例属性(成员属性)和静态属性
- Linux上的JS压缩工具(js压缩工具linux)
- 妙用JS获取Oracle信息的快速方法(js获取Oracle)
- JavaScript探索之旅掌握Oracle和JS的完美融合(js与oracle)
- Oracle中JS的优势让数据库性能提升(oracle中 js)
- js生成密匙流脚本代码
- js对象之JS入门之Array对象操作小结
- js关键词高亮(根据ID/tag高亮关键字)案例介绍
- .NET中利用js让子窗体向父页面传值的实现方法
- js实现上传图片之上传前预览图片
- 5秒后跳转到另一个页面的js代码
- 一个简单的JS时间控件示例代码(JS时分秒时间控件)
- javascript教程之不完整的继承(js原型链)
- js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
- js判断登录与否并确定跳转页面的方法
- js通过location.search来获取页面传来的参数
- JS小游戏之宇宙战机源码详解