javaScript 的继承,call()
Posted 欢迎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript 的继承,call()相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<script type="text/javascript">
(function() {
var Shape = new Object();
Shape.color = "#O8c671";
Shape.area = "50px";
document.write("Shape的颜色:" + Shape.color + "," + "Shape的面积是:" + Shape.area + "父对象<br />");
function Circle() {
document.write("Circle的颜色:" + this.color + "," + "Circle的面积是:" + this.area + "子对象<br />")
}
Circle.call(Shape);
function Rect() {
document.write("Rect的颜色:" + this.color + "," + "Rect的面积是:" + this.area + "子对象<br />")
}
Rect.call(Shape);
})();
</script>
<body>
</body>
本案例定义了Shape作为父对象,Circle 与Rect 作为子对象,并且发生继承关系,继承后两个子类拥有父类属性 color与area, 第19行调用call 方法,将this 引用指定为Shape,所以在函数Circle中的this.color同等于Shape.color。 所以就拥有了父类属性,下面rect同理
</html>
//Shape的颜色:#O8c671,Shape的面积是:50px父对象
//Circle的颜色:#O8c671,Circle的面积是:50px子对象
//Rect的颜色:#O8c671,Rect的面积是:50px子对象
本案例定义了Shape作为父对象,Circle 与Rect 作为子对象,并且发生继承关系,继承后两个子类拥有父类属性 color与area, 第19行调用call 方法,将this 引用指定为Shape,所以在函数Circle中的this.color同等于Shape.color。 所以就拥有了父类属性,下面rect同理
以上是关于javaScript 的继承,call()的主要内容,如果未能解决你的问题,请参考以下文章
昼猫笔记 JavaScript -- 面向对象(II)- 继承