浅谈JavaScript 继承机制的实现
对象冒充的方法实现:
[javascript]
function Human() { <span style="white-space:pre"> </span>//定义Human类
this.species = "Human";
}
function Sex(sex) { <span style="white-space:pre"> </span>//定义Sex类
this.sex = sex;
}
function Chinese(name,sex) {
this.name = name;
this.newMethod1 = Human; //对象冒充,指向Human对象
this.newMethod1(); //调用方法,实现继承
delete this.newMethod1; //删除该对象的引用,避免错误调用
this.newMethod2 = Sex; //对象冒充,指向Sex对象
this.newMethod2(sex); //调用方法,实现继承
delete this.newMethod2; //删除该对象的引用,避免错误调用
}
var chin1 = new Chinese("小明","Male");
function Human() { <span style="white-space:pre"> </span>//定义Human类
this.species = "Human";
}
function Sex(sex) { <span style="white-space:pre"> </span>//定义Sex类
this.sex = sex;
}
function Chinese(name,sex) {
this.name = name;
this.newMethod1 = Human; //对象冒充,指向Human对象
this.newMethod1(); //调用方法,实现继承
delete this.newMethod1; //删除该对象的引用,避免错误调用
this.newMethod2 = Sex; //对象冒充,指向Sex对象
this.newMethod2(sex); //调用方法,实现继承
delete this.newMethod2; //删除该对象的引用,避免错误调用
}
var chin1 = new Chinese("小明","Male");
对象冒充的方法很简单易懂,原理就是利用方法的调用,在函数内实现属性的定义.
而且,对象冒充还能实现多继承.但也有不好地方.
如下:
[javascript]
<script type="text/javascript">
function Human(){ <span style="white-space:pre"> </span>//定义Human类
this.species = "Human";
}
function Sex(sex) { <span style="white-space:pre"> </span>//定义Sex类
this.sex = sex;
this.species = "Animal"; //因为调用顺序,会替换Human类的species属性
}
function Chinese(name,sex){
this.name = name;
this.newMethod1 = Human; //对象冒充,指向Human对象
相关新闻>>
- Javascript 兼容 IE6、IE7、FF 的“加入收藏”“设为首页”
- 好好学一遍JavaScript 笔记(一)——基础中的基础
- 好好学一遍JavaScript 笔记(二)——encode、数组、对象创建
- 好好学一遍JavaScript 笔记(三)——StringBuffer、prototype
- 好好学一遍javaScript 笔记(四)——Attribute、HTML元素、文档碎
- 好好学一遍JavaScript 笔记(五)——正则表达式基础
- 好好学一遍JavaScript 笔记(六)——正则表达式基础二
- 好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则
- 好好学一遍JavaScript 笔记(八)——冒泡型事件、捕获型事件
- JavaScript详解
- 发表评论
-
- 最新评论 更多>>