Javascript 继承
直接上代码:
var extend = function(destination, source, override) {
if (override === undefined) override = true;
for (var property in source) {
if (!override && typeof(source[property]) == 'function' && destination.hasOwnProperty(property)) {
destination[property] = (function(name, method) {
return function() {
this.base = source[name];
return method.apply(this, arguments);
}
})(property, destination[property]);
} else {
destination[property] = source[property];
}
}
return destination;
};
var bird = {
fly : function() {
return 'bird can fly';
},
eat : function(food) {
return 'bird eat '+ food;
}
}
var cat = {
eat : function(food) {
/*父类的同名方法*/
//return this.base(food);
return 'cat eat '+ food;
}
}
extend(cat, bird, false);
console.log(cat.eat('mouse'));
参考: http://www.cnblogs.com/sanshi/archive/2009/07/09/1519890.html

浙公网安备 33010602011771号