如何通过 FOR 循环进行此继续迭代。停留在索引 5
Posted
技术标签:
【中文标题】如何通过 FOR 循环进行此继续迭代。停留在索引 5【英文标题】:How do I make this continue iteration through the FOR loop. Stuck on index 5 【发布时间】:2020-10-22 13:23:34 【问题描述】:我正在为我正在学习的课程的初学者项目构建连接四。我无法让它在过去的索引 5 上移动。它似乎仍然返回 true 索引 5 未定义,即使在我第一次单击它之后,它已变成红色。我认为它会在每次单击后运行 for 循环,再次从 5 开始,但它会返回 False,然后返回到下一个索引 4,检查那个,等等。我查了很多,我只是卡住了。我想不通。
我知道代码在游戏的长期运行中并不完整;我只是想理解这一步,不管代码有多难看,这样我就可以继续下一段了。
var gClass = $(".G")
function returnBackgroundColor(rowIndex,colIndex)
// console.log($(colIndex[rowIndex]).prop("background-color"));
// console.log(rowIndex);
return($(colIndex[rowIndex]).prop("background-color"));
function changeColor(row, someClass)
someClass.eq(row).css("background-color","red");
function checkColor(someClass)
someClass.click(function()
for (var row = 5; row > -1; row--)
if (returnBackgroundColor(row, someClass) === undefined)
console.log(row);
return changeColor(row, someClass);
else
console.log("False");
)
checkColor(gClass)
【问题讨论】:
这能回答你的问题吗? Stuck in For loop iteration of index 5 using javascript/jQuery 【参考方案1】:您可以使用增量而不是减量。并且最好在循环中使用动态端点
【讨论】:
【参考方案2】:那是因为return changeColor(row, someClass);
,这里你是从整个函数返回的。并结束 for 循环。
如果您想转到下一个索引,只需使用continue
,但这不是必需的,因为您的范围已经完成
for(let i =0; i < 5; i++)
for (var row = 5; row > -1; row--)
if (returnBackgroundColor(row, someClass) === undefined)
console.log(row);
changeColor(row, someClass);
else
console.log("False");
【讨论】:
【参考方案3】:您在 returnBackgroundColor
函数中滥用了 .prop
。 $.prop
返回 html 属性并且不能直接作用于样式。您可以尝试这样的比较来代替:$(colIndex[rowIndex]).css('background-color')
【讨论】:
以上是关于如何通过 FOR 循环进行此继续迭代。停留在索引 5的主要内容,如果未能解决你的问题,请参考以下文章