【发布时间】:2010-01-16 19:19:51
【问题描述】:
根据 Douglas Crockford 的说法,我一直在研究以正确的原型方式在 JavaScript 中进行继承:http://javascript.crockford.com/prototypal.html
他写道:“所以不要创建类,而是创建原型对象,然后使用对象函数创建新实例”
我认为这是这样做的方法:
var objA = {
func_a : function() {
alert('A');
}
};
var objB = Object.create(objA);
objB.func_a = function() {
alert('B');
}
objB.func_b = function() {
};
var objA_instance1 = Object.create(objA);
var objA_instance2 = Object.create(objA);
var objB_instance1 = Object.create(objB);
var objB_instance2 = Object.create(objB);
etc...
但这是否意味着现在有四个 func_a 实例(因为它不是 objA.prototype 的一部分,它只是“内部”),还是我没有正确理解这一点?
另外,有什么方法可以访问函数的覆盖函数(例如在 objB.func_a 中调用 objA.func_a)?
提前致谢。
【问题讨论】:
标签: javascript