我在位于头部的脚本中声明全局变量:
var numMonsters;
然后我有人用调用js函数的表单设置了div,它也位于头部,我在那里分配了这个var:
numMonsters = parseInt(document.getElementById("monsters").value , 10);
这是该设置 div 的一个元素。
后来我用显示属性替换了div:none/block
新的 div 包含我的 js 游戏,我想使用那个全局 var 的值,但它甚至不能忍受简单的条件语句,chrome 调试器显示正确的值,它似乎被定义但它真的不是:
board = new Array();
for (var i = 0; i < 10; i++) {
board[i] = new Array();
for (var j = 0; j < 10; j++) {
board[i][j] = new Array();
if ((i == 0) && (j == 0) && (numMonsters > 0)) {
board[i][j][1] = true;
board[i][j][2] = "red";
}
else if ((i == 9) && (j == 0) && (numMonsters > 1)) {
board[i][j][1] = true;
board[i][j][2] = "blue";
}
else if ((i == 9) && (j == 9) && (numMonsters > 2)) {
board[i][j][1] = true;
board[i][j][2] = "yellow";
}
else {
board[i][j][1] = false;
}
}
}
如果我只考虑 i、j 坐标然后将其设置为 true,则此 var 将获得 {0,1,2,3} 值之一显示出它的良好价值。这让我发疯,我做错了什么?!我也对其他 var 采用相同的方法,它们似乎工作正常。谢谢