<html><head><script language="javascript" type="text/javascript">
<!--function myCounter()
{
return myCounter.counter++;
}
 
myCounter.counter = 0;for (i=0;i<4;i++)
{
   document.write(myCounter() 
+ "<br>");
}--></script></head>
<body>
</body>
</html>这里for里的i是怎么理解啊?

解决方案 »

  1.   

    i没定义
    一般写法: for (var i=0;i<4;i++)
    这事最基础的东西,只能自己看书学习。
      

  2.   

    i没定义直接用的时候,是当做全局变量来用的,相当于window.i
      

  3.   

    但这里FOR的条件设定后并没引用我怎么理解i在这里的运用。是不是,理解成显示myCounter() 4次?
      

  4.   

    总结下:
    楼主问i怎么理解!大家在讨论是不是全局变量。呵呵!跑题了
    1.没有var i就量全局变量;
    2.for(i=0;i<4;i++)就是先给i赋值为0,再循环+1,共4次,当i<4时退出循环。
    3.执行时让{}内的语句{document.write(myCounter() + "<br>");}运行指定次数。
    不知道说明白没???
      

  5.   

    当i<4为假时退出循环,即i=4时。
      

  6.   

    这里不用管i的生存周期,之需要弄清楚这段for循环的意义。
    for循环的写法如下:for(initlize; condition; update)
    {
        statement;
    }
    其中initlize表示初始化,对应地讲,也就是你的i被初始化为0
    condition表示循环继续的条件,这里,当i<4的时候,循环都会继续发生
    最后的update表示更新,即每次循环结束,判断condition是否成立之前会做的事情,你这里是给i自增1
    最后来看statement,表示循环体,也就是说循环的实际操作是什么,你这里是插入一段document,就不多啰嗦了。懂了么?不过这里插一句,3楼是正解,i在没有定义的时候,是window.i,而且没有初始化条件下,初值是undefined。