<html>
<head>
<title>DIsplaying triangle /square</title>
<script type="text/javascript">
document.write("<html><body><p style='line-height:100%;>");
var sides=prompt("Enter the number of sides","3/4");
if(sides==4)
{
var i=0;
var j=0;
var z=0;
while(i<=6)
{
if(i==0||i==6)
{
while(j<=6)
{
document.write("*");
document.write("<span style='visibility:hidden'>*</span>");
++j;
}
j=0;
document.write("<br\>");
}
else
{
while(z<=6)
{
if(z==0||z==6)
{
document.write("*");
document.write("<span style='visibility:hidden'>*</span>");
}
else
{
document.write("<span style='visibility:hidden'>*</span>");
document.write("<span style='visibility:hidden'>*</span>");
}
++z;
}
z=0;
document.write("<br\>");
}
++i;
}
document.write("</p></body></html>");
}
else
{
var i=0;
}
</script>
</head>
</html>
我在提示框中输入4
时的输出应为:
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
(认为这是一个完美的广场。很难在这里画画。)
但我明白了:
** * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
看第一行。它有第一个2&#34; *&#34; s。根据代码,它不应该发生。 document.write("*")
部分出了问题。当我尝试使用alert
进行调试时,我发现第一次(即当i = 0时)第一次document.write("*")
被忽略。但是每隔一段时间都要考虑它。
答案 0 :(得分:0)
检查出来:http://jsbin.com/efehiv/1/edit
这条线对我来说很糟糕:
document.write("<html><body><p style='line-height:100%;>");
答案 1 :(得分:0)
Nikhil,你还没有关闭你的风格......从单引号开始,以分号结束。重写
document.write("<html><body><p style=\"line-height:100%;\">");
如果您认为段落标记是必要的,那么您可以保留它,但这不是必需的。它目前正在弄乱你的页面的其余部分。