gpt4 book ai didi

javascript - 无法比较条件语句中int类型的v​​ar

转载 作者:行者123 更新时间:2023-12-02 18:44:23 24 4
gpt4 key购买 nike

我在位于头部的脚本中声明全局变量:

var numMonsters;

然后我有人用调用 js 函数的表单设置 div 也位于头部,我在那里分配了这个变量:

 numMonsters = parseInt(document.getElementById("monsters").value , 10);

这是该设置 div 的一个元素。

后来我用显示属性替换了div:none/block

新的div包含我的js游戏,我想在那里使用该全局变量的值,但它甚至无法忍受简单的条件语句,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;
}
}
}

此变量获取 {0,1,2,3} 值之一如果我只考虑 i, j 坐标然后将其设置为 true 则它正在工作所以 numMonsters 不起作用,正如我提到的,chrome 调试器显示了它的良好值(value)。这让我发疯,我做错了什么?!我也对其他变量做了同样的方法,它们似乎工作得很好。谢谢

最佳答案

效果很好。您的代码中的其他内容可能会导致问题。你能发布一些周围的代码吗?

Fiddle

HTML

Monsters: <input id="monsters" type="text" value="10"/>

Javascript

var numMonsters = parseInt(document.getElementById("monsters").value, 10);

if (numMonsters > 0) {
alert("Monsters win! Variable is a " + typeof numMonsters);
} else {
alert("Fail.");
}

编辑:您的代码不起作用,因为在您尝试引用它时,DOM 中不存在“monsters”元素。

关于javascript - 无法比较条件语句中int类型的v​​ar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16554539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com