我正在努力解决一个我想申报的方法。我得到的只是一个"意外的令牌{"。我没有得到它,我被封锁了2天。现在,我真的需要继续前进。
任何人都可以帮助我吗?
这里是meteorpad:meteorpad.com/pad/6TnXLxumi68Kr6ioA/。 在这里相关部分:
GameFactory = {};
GameFactory.createGame = function (playersIds) {
var players = initPlayers(playerIds);
GameFactory.dealHands(players) ;
return {
players: players,
isRunning: true,
startedOn: new Date()
};
};
function initPlayers(playersIds) {
var o = {};
playersIds.forEach(function (id) {
o[id] = {
playerId: id,
hand: [],
target: 0,
score: 0
};
});
return o;
}
GameFactory.dealHands(players) {
var card = {value: 'toto'};
Object.keys(players).forEach(function (id) {
players[id].hand.push(card);
});
}
答案 0 :(得分:3)
找到它:
GameFactory.dealHands = function (players) {
var card = {value: 'toto'};
Object.keys(players).forEach(function (id) {
players[id].hand.push(card);
});
}
您错过了function
的{{1}}关键字。
答案 1 :(得分:1)
对我来说,在Chrome devtools中,我收到错误
Uncaught SyntaxError: Unexpected token {
直接指向
行GameFactory.dealHands(players) {
JSHint报告的错误略有不同
line 30, column 31, Missing semicolon
实际上指出{
的特定字符位置。
很难让这些工具做更多的事情。根据{{1}}可能很难推断出它们可能要声明一个函数。您是否更喜欢以下错误消息?
在一个奇怪的地方找到
{
;也许你试图声明一个函数但省略了{
关键字?
明智地使用控制台和jshint等工具,以及一些常识,可以很容易地找到这些语法错误。你的编辑也可以提供帮助;最好的将突出这些错误。例如,我的编辑器为有问题的function
红色着色,并提供消息" Missing;在陈述之前#34;。您使用的编辑器是什么,它是否进行语法高亮显示?