Javascript:for循环不工作
我这里有这个密码。。其中,变量num是n×n平方表的维数。目标是输入一个数字并创建一个以该数字为维度的表 我得到了这段代码,但它没有通过for循环的两层。代码执行后,字符串*change_text*将变为:Javascript:for循环不工作,javascript,loops,for-loop,closures,anonymous,Javascript,Loops,For Loop,Closures,Anonymous,我这里有这个密码。。其中,变量num是n×n平方表的维数。目标是输入一个数字并创建一个以该数字为维度的表 我得到了这段代码,但它没有通过for循环的两层。代码执行后,字符串*change_text*将变为: 您需要指定循环的起始值: change_text = "<table>"; for (var i = 0; i<num; i++) { change_text = change_text + "<tr>"; for (v
您需要指定循环的起始值:
change_text = "<table>";
for (var i = 0; i<num; i++) {
change_text = change_text + "<tr>";
for (var j = 0; j<num; j++) {
change_text = change_text + "<td> asdf </td>";
//code for blue cells
}
change_text = change_text + "</tr>";
}
change_text = change_text+ "</table>"
目前,我假设I和j未定义,因此循环不会去任何地方。您需要指定循环的起始值:
change_text = "<table>";
for (var i = 0; i<num; i++) {
change_text = change_text + "<tr>";
for (var j = 0; j<num; j++) {
change_text = change_text + "<td> asdf </td>";
//code for blue cells
}
change_text = change_text + "</tr>";
}
change_text = change_text+ "</table>"
目前,我假设I和j未定义,因此循环不会去任何地方。您需要初始化I和j。。。 试试这个:
change_text = "<table>";
for (var i=0; i<num; i++) {
change_text = change_text + "<tr>";
for (var j=0; j<num; j++) {
change_text = change_text + "<td> asdf </td>";
//code for blue cells
}
change_text = change_text + "</tr>";
}
change_text = change_text+ "</table>"
你需要初始化i和j。。。 试试这个:
change_text = "<table>";
for (var i=0; i<num; i++) {
change_text = change_text + "<tr>";
for (var j=0; j<num; j++) {
change_text = change_text + "<td> asdf </td>";
//code for blue cells
}
change_text = change_text + "</tr>";
}
change_text = change_text+ "</table>"
您需要初始化迭代器:
for(var i = 0; i < num; i++)
您需要初始化迭代器:
for(var i = 0; i < num; i++)
您忘记了i=0/j=0的初始化。您只声明了变量,而undefined总是从数值比较中产生false,这会立即中断循环。所以把你的代码改成
change_text = "<table>";
for (var i=0; i<num; i++) {
change_text = change_text + "<tr>";
for (var j=0; j<num; j++) {
change_text = change_text + "<td> asdf </td>";
//code for blue cells
}
change_text = change_text + "</tr>";
}
change_text = change_text+ "</table>"
您忘记了i=0/j=0的初始化。您只声明了变量,而undefined总是从数值比较中产生false,这会立即中断循环。所以把你的代码改成
change_text = "<table>";
for (var i=0; i<num; i++) {
change_text = change_text + "<tr>";
for (var j=0; j<num; j++) {
change_text = change_text + "<td> asdf </td>";
//code for blue cells
}
change_text = change_text + "</tr>";
}
change_text = change_text+ "</table>"
您需要初始化i和j,如下所示:
for (var i = 0; i<num; i++)
您需要初始化i和j,如下所示:
for (var i = 0; i<num; i++)
未初始化i,使i=0
for (var i=0; i<num; i++) {
//code
}
未初始化i,使i=0
for (var i=0; i<num; i++) {
//code
}
哦,我还注意到num没有明确定义。无论从何处获取num,如果它可能作为字符串传递,请确保使用parseInt。num=parseIntnum Ohhh我还注意到num没有明确定义。无论从何处获取num,如果它可能作为字符串传递,请确保使用parseInt。num=parseIntnum 作为参考,您只需更改_text+=新文本即可;而不是更改文本=更改文本+新文本;作为参考,您只需更改_text+=新文本即可;而不是更改文本=更改文本+新文本;