
//寄生函数 |
function create(box, desk) {//继承私有的属性和prototype中的属性 |
var f = obj(box.prototype); |
f.constructor = desk; //调整原型构造指针 |
desk.prototype = f; |
} |
function Box(name, age) { |
this.name = name; |
this.age = age; |
} |
Box.prototype.run = function () { |
return this.name + this.age + '运行中...' |
} |
function Desk(name, age) { |
Box.call(this, name, age); //对象冒充 |
} |
//通过寄生组合继承来实现继承 |
create(Box, Desk); //这句话用来替代Desk.prototype = new Box(); |
var desk = new Desk('Lee', 100); |
alert(desk.run()); |
alert(desk.constructor); |



