javascript while()循环创建一行单元格而不是一个表

javascript while()循环创建一行单元格而不是一个表,javascript,html,while-loop,Javascript,Html,While Loop,地球上有人知道为什么这个while循环不能按预期工作吗 我想让它创建一个HTML表,但它会生成一行奇怪的单元格 看看 var t=”,i=10//h=10; 而(i-->0){ //这里的问题是在这里声明h变量 var h=10; t+=”; 而(h-->0){ t+=“+h+”; } t+=”; } t+=”; $(“正文”)。追加($(t)) html,正文{ 边缘顶部:20px; 身高:100%; } 运输署{ 边框:1px纯黑; } JS-Bin 您不会将h重置为10。当它转到i=9

地球上有人知道为什么这个while循环不能按预期工作吗

我想让它创建一个HTML表,但它会生成一行奇怪的单元格

看看

var t=”,i=10//h=10;
而(i-->0){
//这里的问题是在这里声明h变量
var h=10;
t+=”;
而(h-->0){
t+=“+h+”;
}
t+=”;
}
t+=”;
$(“正文”)。追加($(t))
html,正文{
边缘顶部:20px;
身高:100%;
}
运输署{
边框:1px纯黑;
}

JS-Bin

您不会将
h
重置为
10
。当它转到
i=9的
0
(第一次迭代
i
)时,它将保持在
0

在外部循环开始时重置它:

var t="<table>",i=10;
while(i-->0){
  var h = 10;
  t+="<tr>";
  while(h-->0){t+="<td>"+h+"</td>";}
  t+="</tr>";
}
t+="</table>";
$("body").append(t); // no need for $(t) here

当您忘记了
var
声明(这是JS程序中常见的错误之一)时,这一点也很明显。

您不会将
h
重置为
10
。当它转到
i=9的
0
(第一次迭代
i
)时,它将保持在
0

在外部循环开始时重置它:

var t="<table>",i=10;
while(i-->0){
  var h = 10;
  t+="<tr>";
  while(h-->0){t+="<td>"+h+"</td>";}
  t+="</tr>";
}
t+="</table>";
$("body").append(t); // no need for $(t) here

当您忘记了
var
声明(这是JS程序中常见的错误之一)时,这一点也很明显。

您不会将
h
重置为
10
。当它转到
i=9的
0
(第一次迭代
i
)时,它将保持在
0

在外部循环开始时重置它:

var t="<table>",i=10;
while(i-->0){
  var h = 10;
  t+="<tr>";
  while(h-->0){t+="<td>"+h+"</td>";}
  t+="</tr>";
}
t+="</table>";
$("body").append(t); // no need for $(t) here

当您忘记了
var
声明(这是JS程序中常见的错误之一)时,这一点也很明显。

您不会将
h
重置为
10
。当它转到
i=9的
0
(第一次迭代
i
)时,它将保持在
0

在外部循环开始时重置它:

var t="<table>",i=10;
while(i-->0){
  var h = 10;
  t+="<tr>";
  while(h-->0){t+="<td>"+h+"</td>";}
  t+="</tr>";
}
t+="</table>";
$("body").append(t); // no need for $(t) here

当您忘记了
var
声明(这是JS程序中常见的错误之一)时,这一点也很明显。

但是h在前面设置为全局范围,但是我将尝试
h
的全局范围意味着它的值将在您的程序之外更改,而不是在“本地”中保持相同的初始值scope.i=10;对于(/*无声明*/;i>0;i-)
但h在前面设置为全局范围,但是我将尝试
h
的全局范围意味着它的值将在您的程序之外更改,而不是在“本地”范围内保持相同的初始值。与
var i=10;对于(/*无声明*/;i>0;i-)
但h在前面设置为全局范围,但是我将尝试
h
的全局范围意味着它的值将在您的程序之外更改,而不是在“本地”范围内保持相同的初始值。与
var i=10;对于(/*无声明*/;i>0;i-)
但h在前面设置为全局范围,但是我将尝试
h
的全局范围意味着它的值将在您的程序之外更改,而不是在“本地”范围内保持相同的初始值。与
var i=10;for(/*无声明*/;i>0;i--)
为什么不使用
for
循环呢?我是;;;;但是像这样编写while循环更容易,while(i--){}
:;;;;但是像这样编写while循环更容易,while(i--){}
:;;;;但是像这样编写while循环更容易,while(i--){}
:;;;;但是像这样编写while循环更容易
while(i--){}
: