为什么不能有这样的事情:
/* 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)
希望这有助于。
如果你正在寻找提高代码质量的一般,你可以去这里:http://codereview.stackexchange.com/ – Ian
我建议你不要***写你的id标签,你的方式做('id =“something”')。正确的方法:'id =“something”'。 –