//facade 一个输出函数 function log() { console.log([].join.call(arguments, ',')); } //父类 function Parent(name) { this.name = name || "Adam"; } //为父类原型上添加一个方法 Parent.prototype.say = function() { return this.name; } //子类 function Child(name) { //调用父类的构造函数,并作用于子类 Parent.apply(this,arguments); } //用父类的实例覆盖子类的prototype以达到继承父类原型上的方法 Child.prototype = new Parent(); //测试效果 var kid = new Child("patick"); log(kid.name); log(kid.say()); delete kid.name; log(kid.name); log(kid.say());