<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
function ClassA(sColor) {
    this.color = sColor;
}ClassA.prototype.sayColor = function () {
    alert(this.color);
};function ClassB(sColor, sName) {
    ClassA.call(this, sColor);
    this.name = sName;
}ClassB.prototype = new ClassA();
//这里将ClassB的prototype设置为ClassA的一个实例
//那么ClassB的name属性不会被丢弃吗? 
//子类的属性和方法不是应该出现在 prototype 属性被赋值后吗?                              
ClassB.prototype.sayName = function () {
    alert(this.name);
};
var objA = new ClassA("blue");
var objB = new ClassB("red", "John");
objA.sayColor();
objB.sayColor();
objB.sayName();</script>
 
</body>
</html>