注册 登录
编程论坛 JavaScript论坛

循环错误

iwall 发布于 2012-03-27 20:56, 616 次点击
<body>
<script type="text/javascript" charset="utf-8">
function Myfn () {
    document.write("<table>");    // 外部循环第二次运行时这行会出错
    for (var i=0; i<6; i++) {
        document.write("<tr>");
        for (var k=0; k<7; k++) {
            document.write("<td>" + (i + k) + "</td>");
        }
        document.write = "</tr>";
    }
    document.write = "</table>";
}
Myfn();
</script>
</body>
这个循环运行时,内部循环执行一次后,外部循环会在 document.write("<table>"); 提示出错
FF11.0下提示:document.write is not a function,为什么第一次执行时可以
Chrome17下提示:Uncaught TypeError: Property 'write' of object #<HTMLDocument> is not a function
本人新手,初学JS,一直不明白其原因,希望各位帮忙分析下原因。
5 回复
#2
西鄙人2012-03-28 13:40
回复 楼主 iwall
改成如下代码就可以了。
    本人菜鸟,也说不清原因。可能是与显示顺序有关。

<body >
    <script type="text/javascript" charset="utf-8">
                function Myfn () {
                    var result = "<table>";    // 外部循环第二次运行时这行会出错
                    for (var i=0; i<6; i++) {
                        result += "<tr>";
                        for (var k=0; k<7; k++) {
                                result += "<td>" + (i + k) + "</td>";
                           }
                        result += "</tr>";
                    }
                    result += "</table>";
                  document.write(result);
            }
            //window.onload=Myfn;
            Myfn();
    </script>
        
</body>

[ 本帖最后由 西鄙人 于 2012-3-28 13:42 编辑 ]
#3
iwall2012-04-13 10:02
回复 2楼 西鄙人
谢谢。
#4
wang123qishe2012-05-01 16:07
哎呀,这个我也看不懂啊;求高手解释原理;
#5
aspic2012-05-01 22:07
以下是引用iwall在2012-3-27 20:56:58的发言:

<body>
<script type="text/javascript" charset="utf-8">
function Myfn () {
    document.write("<table>");    // 外部循环第二次运行时这行会出错
    for (var i=0; i<6; i++) {
        document.write("<tr>");
        for (var k=0; k<7; k++) {
            document.write("<td>" + (i + k) + "</td>");
        }
        document.write = "</tr>";
    }
    document.write = "</table>";
}
Myfn();
</script>
</body>
这个循环运行时,内部循环执行一次后,外部循环会在 document.write("<table>"); 提示出错
FF11.0下提示:document.write is not a function,为什么第一次执行时可以
Chrome17下提示:Uncaught TypeError: Property 'write' of object #<HTMLDocument> is not a function
本人新手,初学JS,一直不明白其原因,希望各位帮忙分析下原因。
#6
hkvmonkey2012-06-13 16:05
程序代码:
<script type="text/javascript" charset="utf-8">
function Myfn () {
    document.write("<table >");    // 外部循环第二次运行时这行会出错
    for (var i=0; i<6; i++)
     {
         document.write("<tr>");
        for (var k=0; k<7; k++)
        {
             document.write("<td>" + (i + k) + "</td>");
        }
        document.write ( "</tr>");
    }
    document.write("</table>");
}
Myfn();
</script>
这样也可以啊
1