for (key in window){
alert(key)
if (key2 in key){
for (key2 in key){
alert(key2)
}
}
}

解决方案 »

  1.   

    是最经典的递归问题,不过内存少了可不行!
    script>
    function coverThrough ( obj ){
       for ( var tmpMisc in obj)
          if ( typeof ( obj[tmpMisc] ) == "object" )
             coverThrough ( obj[tmpMisc] );
          else
             document.writeln ( tmpMisc + "=" + obj[tmpMisc], "<br>" );
    }
    </script>
      

  2.   

    思路是对的
    但要注意:1)有些typeof xxx = "object",但这些对象是不能enumerate的,for ... in 会throw exception2)你要loop的链,不一定是树型,有可能是环形
    那么这样将会死循环3) 这个链还有可能是无限的(要知道JavaScript是动态绑定的解释性语言)
    所以基本上,不处理exception,不设定最大深度,这个程序是不能工作的。