Javascript 因为循环出现短路
我正在制作一个乘法表,它接受用户的输入并构建一个n乘n的表。然而,对于我的脚本,它总是比预期的少显示一行和一列。我错过了什么 JS:Javascript 因为循环出现短路,javascript,for-loop,Javascript,For Loop,我正在制作一个乘法表,它接受用户的输入并构建一个n乘n的表。然而,对于我的脚本,它总是比预期的少显示一行和一列。我错过了什么 JS: 函数(行、列){ var hcode=''; w=window.open(); //w、 document.write(“这里是”+行+列) w、 文件。填写(“”); 对于(j=1;jjavascript中的数组从0开始,你的循环也应该从0开始javascript中的数组从0开始,你的循环也应该从0开始使用j使用j如果你对结果感到惊讶,你会有一个off by一个
函数(行、列){
var hcode='';
w=window.open();
//w、 document.write(“这里是”+行+列)
w、 文件。填写(“”);
对于(j=1;jjavascript中的数组从0
开始,你的循环也应该从0
开始javascript中的数组从0
开始,你的循环也应该从0开始使用j使用j如果你对结果感到惊讶,你会有一个off by一个错误。如果你对结果不感到惊讶,那么它就是d设计
你可以在纸上自己试试
假设你想数到3,从1开始
- 所以第一个数字是1,递增1
- 检查数字是否小于3,是的,第二个数字是2,递增1
- 检查数字是否小于3,否(3不小于3)
没有第三个数字。因为你已经用checknumber停止了循环,如果你对结果感到惊讶,你就会出现一个off-by-one错误。如果你对结果不感到惊讶,那么这是出于设计
你可以在纸上自己试试
假设你想数到3,从1开始
- 所以第一个数字是1,递增1
- 检查数字是否小于3,是的,第二个数字是2,递增1
- 检查数字是否小于3,否(3不小于3)
没有第三个数字。因为您已通过检查(j=1;jfor)停止循环(j=1;j他没有使用任何数组。只是递增j
和i
。你几乎是对的,这是一个一个错误,但不是因为你回答中的原因。他没有使用任何数组。只是递增j
和i
。你几乎是对的,这是一个一个错误,但不是因为你回答中的原因。你不应该吗你用行作为外循环,用cols作为内循环?你不应该用行作为外循环,用cols作为内循环吗?计算界有句名言——计算机科学中有两个已知的难题:缓存失效、命名和按一个错误关闭。我不相信我错过了这一点。谢谢你的帮助实现和解决方案!计算界有句名言——计算机科学中有两个已知的难题:缓存失效、命名和按一个错误关闭。我不相信我错过了这一点。感谢您提供的有用的可视化和解决方案!
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>");
}
for (j=1; j<=cols; j++){ ...