2013-11-25 39 views
0

我試圖在我的對象板內部調用我的Board原型中的函數。看着其他堆棧溢出帖子,我沒有看到任何立即錯誤的事情。但是,我收到錯誤「Uncaught TypeError:Object [object global] has no method'generateCards」。我不確定這是爲什麼。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"; 
} 
+1

如何在新的董事會產生 –

+0

忘記了'new'關鍵字時實例? –

+1

確保在創建新電路板時使用'new'。 – VLS

回答

1

您需要使用new關鍵字否則thisBoard函數內部將參照window(未定義嚴格模式)對象不具備generateCards方法來創建一個新的董事會對象。

所以儘量

var b1 = new Board(); 

演示:FiddleStrict Mode

在撥弄第二板的創建是拋出錯誤

+0

啊,opps。謝謝!我完全沒有意識到這一點。所有調試這樣一個愚蠢的錯誤。 – user2471366

相關問題