为什么没有这样的东西:
/* This represents the current game, declare it upon starting a new game*/
var board = [['-','-','-'],['-','-','-'],['-','-','-']];
function notTaken(board,row,col) {
return (board[row][col] == '-');
}
function hasX(board,row,col) {
return (board[row][col] == 'x');
} // have a similar function for O
这消除了代码中的大量冗余。此外,使用 HTML5,您可以向 div 元素添加自定义属性,这些属性将指定单元格的行和列。因此,例如 top-mid div 将具有属性“data-row”和“data-col”,值分别为 0 和 1。我认为属性名称必须以“data-”开头,但我不确定。
哦,还有一件事:永远不要将布尔值与真假进行比较,这是多余的。而不是做:(some_bool!= false)只是做:(some_bool)
因为布尔值无论如何只能是真或假。同样: (some_bool == false) 可以写成: !(some_bool)
希望这可以帮助。