【发布时间】:2023-03-15 23:05:01
【问题描述】:
请帮助解决问题。我有基类“单元”:
var Unit = function() {
this.x_coord = x_coord;
this.y_coord = y_coord;
this.color = color;
};
和子类“playerUnit”:
var playerUnit = function(gameObj, x_coord, y_coord, color) {
Unit.apply(this, arguments);
};
playerUnit.prototype = Object.create(Unit.prototype);
var Game = function(options) {
new playerUnit(this,1,1,'red');
};
var app = new Game();
我计划在未来做很多这样的子类:'enemyUnit'、'tankUnit'、'boatUnit'等,我需要使用通用属性:x_coord、y_coord、color。
i try use Unit.apply(this, arguments);
但在启动脚本后,我在控制台中有以下错误消息:
Uncaught ReferenceError: x_coord is not defined
jsfiddle:https://jsfiddle.net/vzk73qah/2/
【问题讨论】:
-
您的父构造函数没有定义任何参数。如果你只做
new Unit(…)也行不通,这与你的子类无关(这很好)。
标签: javascript oop