对于循环行为
For Loop Behaviour
这个问题是关于Javascript for loops的,我一直有一些奇怪的行为。
我的 For 循环目前如下所示:
var UnitAmount = 2;//(value verified, yet not declared like this)
var DamageAmount = [1,3];//(value verified, yet not declared like this)
function forcerefresh () {
for( i=0 ; i < UnitAmount ; i++ ) {
//(10 lines of Stuff)
var check = 0;
for (c = 0; c < DamageAmount[i] ; c++ ) {
debug[0] = damage[i][c].getElementsByClassName("writedamage")[0];
debug[1] = damage[i][c];
debug[2] = unit[i];
check = check + 1;
console.info("Unit:",i,"Loop:",c,"Debug:",debug,"Check:",check, "Race:",unitrace[i], unit[i].dataset.race);
alert("Debug:"+ debug );
damageCalc(damage[i][c].getElementsByClassName("writedamage")[0],damage[i][c],unit[i]);
}
}
}
在这里,已经添加了调试、警报、检查和控制台写入调用以尝试查找问题 - 我在这里得到了一个无限循环。
控制台中的输出 im 显示,虽然 i 常量按预期行走,但 c 迭代计数从 0 开始,跳到 2,然后保持 2 - 由于 DamageAmount[1] = 3,这会产生无限循环。在 c 可能停留在值 2 的地方,检查值确实会向上遍历迭代。
至于涉及的变量数量,我已经用控制台一次又一次地检查了,所有变量都已定义,以及我预期的值。代码位于 http://age-of-wonders-3.wikia.com/wiki/MediaWiki:Units.js,但如果有任何部分需要,我当然会在这里发布。
任何帮助不胜感激!
尝试在数组上使用 for of 或 .forEach
相关文章:
- 对于循环-在循环内部循环,用于获取带有ascii值的字母表
- 函数未完全循环通过循环
- 为什么while循环无限循环
- JavaScript:在 for 循环中循环
- jquery中基于剃刀循环的循环
- 如何重新启动循环javascript循环
- 简单的 do/while 循环无限循环问题
- 看起来我的每个循环都循环不止一次
- 我应该如何在同一循环中循环访问多个getElementsByClassName()调用的结果
- JavaScript 中的无限循环 - while 循环
- 了解循环:在循环中使用未定义的变量
- 如何在循环中循环此 JavaScript 代码
- 在jquery中,json对象How中的每个循环(使循环从对象中找到一个值,并与另一个对象值进行比较,以避免重复打印)
- ajax调用的循环-访问循环计数器
- javascript for循环;t循环到底
- javascript,嵌套用于循环问题
- Javascript-只用于循环打印最后一次迭代
- JS类循环和循环
- 关于循环Javascript循环和算法所需的建议
- 嵌套用于循环而递归用于固定高度的树