我正在制作一个乘法表,它接受用户的输入并构建一个 n × n 表。然而,使用我拥有的脚本,它总是显示比预期少的行和列。我在这里缺少什么?
JS:
function happy(rows, cols){
var hcode = '';
w=window.open();
//w.document.write("here are " + rows + cols)
w.document.write("<table border='1'><tr> </td>");
for (j=1; j<cols; j++){
w.document.write("<tr>");
w.document.write("<td bgcolor='plum'>"+ j +"</td>");
//w.document.write("<tr>");
for (i=2; i<rows; i++){
w.document.write("<td>" + j*i + "</td>");
}
w.document.write("</tr>")
}
w.document.write("</table>");
}
最佳答案
如果您对结果感到惊讶,则表示存在相差一错误。如果您对结果并不感到惊讶,那么这是设计使然。
您可以自己在纸上尝试一下。
假设您想数到 3,那么您就从 1 开始。
- 所以第一个数字是 1,加 1
- 检查数字是否小于3,是,第二个数字为2,加1
- 检查数字是否小于 3,否,不小于(3 不小于 3)
没有第三个数字。因为您已经通过检查 number<3
停止了循环.
要绕过此检查,检查数字是否小于或等于 3:
for (j=1; j<=cols; j++){ ...
关于javascript - For 循环出现不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25882554/