2016-04-02 189 views
-1

我试图使嵌套的星形网格,而循环。在JavaScript中嵌套while循环

它与工作为循环:

for(m = 1; m <= 5; m++) { 
    for(n = 1;n <= 10; n++) { 
     document.write("*" + " "); 
    } 
    document.write("<br>"); 
} 

,但我想不通我怎么可以用while循环解决这个问题:

while(m <= 5) { 
    while(n <= 10) { 
     document.write("*" + " "); 
     n++; 
    } 
    document.write("<br>"); 
    m++; 
} 

没有人有任何想法?

Thnx

+1

好吧,你声明并初始化'N'和'随时随地M'? – Siguza

回答

1

您错过了初始值设定项。 m需要启动和1,n需要重新启动1每次m递增。

var m, n; 
m = 1; 
while(m <= 5) { 
    n = 1; 
    while(n <= 10) { 
     document.write("*" + " "); 
     n++; 
    } 
    document.write("<br>"); 
    m++; 
} 
+0

是的,我忘了发布初始化程序:p 但我不知道我必须重新启动n。 非常感谢! – user3593591

0

问题是你不重置n变量,所以每次它是10,因此不进入while循环。你需要做的:

var m = 0, 
 
    n = 0, 
 
    div = document.getElementById('draw'); 
 

 
function writeToDiv(stringToWrite) { 
 
    div.innerHTML = div.innerHTML + stringToWrite; 
 
} 
 

 
while (m <= 5) { 
 
    while (n <= 10) { 
 
    writeToDiv("*" + " "); 
 
    n++; 
 
    } 
 
    n = 0; 
 
    writeToDiv("<br>"); 
 
    m++; 
 
}
<div id="draw"> 
 

 
</div>

+0

无需在外循环两端重置“n”两次 – charlietfl