javascript - 未捕获的类型错误 : Object #<object> has no method 'method'

标签 javascript object methods set typeerror

所以这是对象“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 有两个方法 setTurngetTurn 对您使用 new 创建的实例进行操作.

关于javascript - 未捕获的类型错误 : Object #<object> has no method 'method' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623973/

相关文章:

javascript - JS 在没有事件对象的情况下检测按键

java构造函数来创建已经正确的子类

java - 如何控制Activity方法流直到非Activity类执行网络操作

javascript - 固定页脚在动态相同大小的 div/列中

JavaScript 文本幻灯片无法正常工作?

javascript - onClick 标签内的函数超出 dojo 1.6 的范围

java - 为什么 Java 中的每个对象都隐式扩展 java.lang.Object 类?

ios - 制作 UIApplication(AppDelegate) 嵌入对象

python - 在 SocketServer 请求之间重用变量

c# - 捕获属性的目标