我正在尝试在 JavaScript 中做一些继承
ETC
var operation =
{
A: 1,
B: 2,
C: 3
};
var operationImplA =
{
D: 4
};
var operationImplB =
{
D: function (event) {
//do something
}
};
类似于上面的东西,但不确定如何在 JavaScript 中执行此操作。
我正在尝试在 JavaScript 中做一些继承
ETC
var operation =
{
A: 1,
B: 2,
C: 3
};
var operationImplA =
{
D: 4
};
var operationImplB =
{
D: function (event) {
//do something
}
};
类似于上面的东西,但不确定如何在 JavaScript 中执行此操作。
您可以简单地使用Object.create
:
var operation =
{
A: 1,
B: 2,
C: 3
};
var operationImplA = Object.create(operation, {
D: {
value: 4
}
});
var operationImplB = Object.create(operationImplA, {
D: {
value: 5
}
});
Object.create
将使用原型创建新对象,它的第一个参数和第二个参数中定义的属性。
这是 JavaScript 中基于原型的自然继承。
编辑
如果要添加方法,请将其添加为属性,即:
var operationImplA = Object.create(operation, {
M: {
value: function (a) {
console.log(a);
}
}
});
operationImplA.M('Some text...'); //'Some text...'
我个人非常喜欢 John Resigs Simple JavaScript Inheritance。我将它用于我所有的 JS 项目。你应该试试看。