这就是对象“playerTurnObj”
function playerTurnObj(set_turn) {
this.playerTurn=set_turn;
function setTurn(turnToSet) {
this.playerTurn=turnToSet;
}
function getTurn() {
return this.playerTurn;
}
}
这就是我正在做的
var turn = new playerTurnObj();
turn.setTurn(1);
因此,我尝试使脚本在playerTurnObj()中执行setTurn()方法,以在正在制作的游戏中保存“回合”。问题是,它没有执行turn.setTurn(1);。部分原因是我不断收到上述错误
我究竟做错了什么?我进行了搜索,但是找不到确切的答案。
最佳答案
这不是JavaScript的工作方式。您的“构造函数”函数包含在playerTurnObj
范围之外不可见的内联函数。因此,您的变量turn
没有定义方法setTurn
,因为错误消息正确指出。可能您想要这样的东西:
function playerTurnObj(set_turn) {
this.playerTurn=set_turn;
}
playerTurnObj.prototype = {
setTurn: function(turnToSet) {
this.playerTurn=turnToSet;
},
getTurn: function() {
return this.playerTurn;
}
};
现在,您的变量
turn
具有两种方法setTurn
和getTurn
,它们可以对您使用new
创建的实例进行操作。