所以这是对象“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
创建的实例进行操作.
关于javascript - 未捕获的类型错误 : Object #<object> has no method 'method' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623973/