gpt4 book ai didi

javascript - 在简单的 js for 循环中找不到问题

转载 作者:行者123 更新时间:2023-11-30 10:36:08 26 4
gpt4 key购买 nike

我第一次(或多或少)尝试 javascript,发现自己完全被以下 .js 脚本搞糊涂了。

var pair = newArray();
var id = newArray();
var pairs = 2;

function newGame(){

var randomid = 0;

alert("newGame() called!");

// Sets a specific part of the image sprite to each pair[].
for (var i=0 ;i < pairs; i++){
alert("For loop started!");
pair[i] = "url(Cardfront.jpg) -"+100 * Math.floor((Math.random()*13)+0)+"px -"+200 * Math.floor((Math.random()*4)+0)+"px";
// For every pair, assigns a part of the image sprite to two id[]-s.
alert("Pair " + i + "is " + pair[i]);
for(var j=0; j < 2; j++) {
//the range of possible id-s the total number of cards - double the amount of pairs.
randomid = Math.floor((Math.random()*pairs*2)+0);
if (id[randomid] === null){
id[randomid] = pair[i];
alert("ID " + randomid + "is " + id[randomid]);
}
else j--;
}
}

alert("This is called after the for loop!");
}

当我通过按钮调用 newGame() 时,我收到“newGame() 已调用!”然后“这是在 for 循环之后调用的!”警报,然后什么都没有。

我花了一段时间在谷歌上搜索和四处寻找,试图解决这个问题,但看来我已经无计可施了。

最佳答案

newArray() 更改为 new Array() 我相信这是导致您的错误的原因,先生。

祝你好运!

编辑:要修复其他错误,我发现您有以下内容:

if (id[randomid] === null) {

带有 3 个 = 符号。将其更改为只有两个:

if (id[randomid] == null) {

它应该按照您期望的方式工作。除非您真的尝试使用严格的比较运算符,否则您的代码中会有其他问题。

关于javascript - 在简单的 js for 循环中找不到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928708/

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