JS通过prototype实现继承的简单示例:
2015-10-20 16:38
671 查看
JS通过prototype实现继承的简单示例:
var MYJS={};
MYJS.extend=function(baseClass, prop) {
if (typeof (baseClass) === "object") {
prop = baseClass;
baseClass = null;
}
// 本次调用所创建的类(构造函数)
function F() {
}
// 如果此类需要从其它类扩展
if (baseClass) {
F.prototype = new baseClass();
F.prototype.constructor = F;
}
// 覆盖父类的同名函数
for (var name in prop) {
if (prop.hasOwnProperty(name)) {
F.prototype[name] = prop[name];
}
}
return F;
};使用示例:
var MYJS={};
MYJS.extend=function(baseClass, prop) {
if (typeof (baseClass) === "object") {
prop = baseClass;
baseClass = null;
}
// 本次调用所创建的类(构造函数)
function F() {
}
// 如果此类需要从其它类扩展
if (baseClass) {
F.prototype = new baseClass();
F.prototype.constructor = F;
}
// 覆盖父类的同名函数
for (var name in prop) {
if (prop.hasOwnProperty(name)) {
F.prototype[name] = prop[name];
}
}
return F;
};使用示例:
<script> function Cls1(){ this.name="Cls1 class"; this.fun1 =function(){ console.log("Cls1.fun1"); }; } var Cls2 = MYJS.extend(Cls1, { a:'a', fun2:function(){ console.log("Cls2.fun2"); } }); var Cls3 = MYJS.extend(Cls2, { a:'cls3.b', b:'b', fun3:function(){ console.log("Cls3.fun3"); } }); var obj3 = new Cls3(); console.log(obj3.name); console.log(obj3.a); console.log(obj3.b); obj3.fun1(); obj3.fun2(); obj3.fun3(); </script>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- prototype Element学习笔记(篇一)
- Prototype 学习 工具函数学习($方法)
- Prototype使用指南之selector.js说明
- prototype1.4中文手册
- 在flex中执行一个javascript方法的简单方式