循环三次是因为把“111”看成一个长度为3的字符串了,后面两个alert()是undefined?不明白了

解决方案 »

  1.   

    不清楚,没遇到 lz 的情况
    L@_@K
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta name="generator" content="editplus" />
      <meta name="author" content="" />
      <meta name="keywords" content="" />
      <meta name="description" content="" />
     </head> <body>
      <script>
    function aa()
    {
    alert(arguments.length); // 1 for(var i=0; i<arguments.length; i++)
    {
    alert(arguments[i]); // ccc

    // ie 下以下代码并未执行!
    for(var j in arguments[i])
    {
    alert(j)
    alert(arguments[j])
    }
    }
    }
    aa("ccc");
    </script>
     </body>
    </html>
      

  2.   

    arguments.length == 3 ???
    请问亲自执行过么?
    亲眼看到了这个结果么?
      

  3.   

    出错就在for each循环上!
    arguments.length  //print出来的是1
      

  4.   

    for(var j in arguments[i])
            {
                alert(j)
                alert(arguments[j])
            }
    遍历字符串
      

  5.   


    function aa(){
    //var a={}
       for(var i=0;i<arguments.length;i++){       
           for(j in arguments[i]){        
             if(typeof arguments[j] !='undefined'){
          alert(arguments[j]);
      }
           }
       }
    }
      

  6.   

    LZ的问题很有趣,以前也没注意过这个问题.
    问题在于for in那里//ie
    for(var i in "111")
    {
      alert(i);//nothing happen
    }
    ------------------------------
    //ff
    for(var i in "111")
    {
      alert(i);//will alert 0 1 2
    }看来ie和ff处理是不一样的,我倒倾向于ff的方式.
    哪位高手讲解一下.
      

  7.   

    问题更简单一点
    //ie
    alert("123"[1]) // alert 'undefined'
    //ff
    alert("123"[1]) //alert '2'js的兼容性真是很头疼啊.
      

  8.   

    有趣的问题,至于ie,ff对于字符串的不同处理上面的朋友说过了,不过lz的代码有问题,我帮你改一下<script>
    function aa(){
    //var a={}
    for(var i=0;i<arguments.length;i++)
     {
       for(var j in arguments[i])
          {
             alert(j)
             alert(arguments[i][j])
          }
     }
    }
    aa("111")
    </script>
      

  9.   

    for in 是遍历对象的属性 
      

  10.   

    是因为你调用的不对
    所以才出现了2个undefined 在你这个里面只有arguments[0]这么一个,而你学循环输出0,1,2能不错吗?
      

  11.   

    还有
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function aa(){
    var j;
    for(var i=0;i<arguments.length;i++)
     {
       for(j in arguments[i])
          {
             alert(arguments[i][j]);
          }
     }
    }
    aa('111')
    </script>
    </head><body>
    </body>
    </html>在IE中是无效的,不会弹出任何信息
      

  12.   

    应该说是IE6吧IE7应该可以有信息弹出