<!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同理