//采用prototype的方式实现js继承
//调用A的构造函数时,没有给他传递参数。这是prototype中标准做法,要确保构造函数没有任何参数
function A() { }
A.prototype.Acolor = "red";
A.prototype.AshowColor = function() {
document.writeln("Acolor: " + this.Acolor);
}
function B() { }
B.prototype = new A();
//子类的所有属性和方法都必须出现在prototype属性被赋值后,因为在它之前赋值的所有方法都会被删除,
//为什么,因为prototype属性被替换成了新对象,添加了新方法的原始对象将被销毁
B.prototype.Bname = "demo";
B.prototype.BshowName = function() {
document.writeln("Bname: " + this.Bname);
}
//prototype是不支持多重继承,它会重写类的prototype属性
var objA = new A();
objA.AshowColor();
document.writeln("----------------");
var objB = new B();
objB.Acolor = "black";
objB.AshowColor();
objB.BshowName();
document.writeln("----------------");