未捕获的类型错误:Object[Object global]没有方法'generateCards'

Uncaught TypeError: Object [object global] has no method 'generateCards'

本文关键字:Object generateCards 有方法 global 类型 错误      更新时间:2023-10-13

我正试图在对象Board中调用Board原型中的一个函数。看看其他堆栈溢出的帖子,我没有发现任何问题。然而,我得到了错误"Uncaught TypeError:Object[Object global]没有方法'generateCards"。我不知道为什么会这样。

function Board(startingPlayer, players){
    this.cards = this.generateCards(10);
}
Board.prototype.generateCards = function(numCardsToGenerate){
        return "I have accessed this function";
}

您需要使用new关键字创建一个新的板对象,否则Board函数中的this将引用没有generateCards方法的window(在严格模式下未定义)对象。

所以试试

var b1 = new Board();

演示:Fiddle,严格模式

在小提琴中,第二个板的创建是抛出错误