-1
<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 个“*”。根据代码,它不应该发生。这部分出了点问题document.write("*")。当我尝试使用alert我发现的第一次调试时(即当 i=0 时)第一次document.write("*")被忽略。但每隔一段时间都会考虑。

4

2 回答 2

0

Check this out: http://jsbin.com/efehiv/1/edit

This line looks bad to me:

document.write("<html><body><p style='line-height:100%;>");
于 2013-02-18T13:43:31.960 回答
0

Nikhil,你还没有结束你的风格……以单引号开头,以分号结尾。重写为

document.write("<html><body><p style=\"line-height:100%;\">");

如果你觉得段落标签是必要的,那你可以保留它,但不是必须的。不过,它目前正在弄乱您页面的其余部分。

于 2013-02-18T14:05:23.360 回答