js中for循環的研究

轉自:http://blog.csdn.net/lushuaiyin/article/details/8541500javascript

  1. <html>  
  2. <body>  
  3. <b><center>  
  4.   js中for循環的研究   
  5. </center></b>  
  6. <script type="text/javascript">  
  7. //使用for (obj in array)的形式obj不用聲明。  
  8. var mycars = new Array();  
  9. mycars[0] = "Saab";  
  10. mycars[1] = "Volvo";  
  11. mycars[2] = "BMW";  
  12.   
  13. //實驗一:  
  14. /*    
  15. for (x in mycars)  
  16. {  
  17.     //alert('--'+x);//每次彈出--0,--1,--2,而不是變量的內容  
  18. document.write(mycars[x] + "------x---<br />")  
  19. }  
  20.   
  21. alert(x);//2  
  22. */  
  23.   
  24.   
  25.   
  26. //實驗二:  
  27. /*    
  28. for (var y in mycars)  
  29. {  
  30. document.write(mycars[y] + "--y---<br />")  
  31. }  
  32.   
  33. alert(y);//2  
  34. */  
  35.   
  36.   
  37.   
  38. //實驗三:  
  39. /*    
  40. for (i=0;i<mycars.length;i++)  
  41. {  
  42. document.write(mycars[i] + "---i----<br />")  
  43. }  
  44.   
  45. alert(i);//3,之因此是3,是由於在循環外,最後還要走一次i++  
  46. */  
  47.   
  48.   
  49.   
  50. //實驗四:  
  51. /*     
  52. for (var k=0;k<mycars.length;k++)  
  53. {  
  54. document.write(mycars[k] + "---k---<br />")  
  55. }  
  56.   
  57. alert(k);//3  
  58. */  
  59.   
  60.   
  61.   
  62. //實驗五:  
  63. /*     
  64. for (var h=0;h<mycars.length;h++)  
  65. {  
  66. document.write(mycars[h] + "---h---<br />")  
  67. var objhhh='haha';  
  68. }  
  69.   
  70. alert(objhhh);//haha  
  71. */  
  72. </script>  
  73.   
  74. 從上面的實驗能夠得出如下幾點結論:  
  75. 1,在for循環中變量都是全局的。不像java,在函數內聲明的變量,在函數外不能直接訪問,js都是全局的,  
  76. 因此能夠訪問。(實驗五)  
  77.   
  78. 2,基於上面的結論,咱們能夠知道,在for()循環中,括號中的變量最後已經改變了,並且是全局變量,  
  79. 能夠在循環外被訪問。  
  80.   
  81. 3,對於for循環,本實驗要說明的是在for(..  in ..)  
  82. 或者for(..=0;  ..<..;  ..++)這兩種形式變量前面的var能夠聲明,也能夠不聲明。(實驗一到實驗四)。  
  83. js默認會幫你聲明一個var(不然的話,這個變量本應該是undefined了)。  
  84.   
  85. 4,再談for(..  in ..)和for(..=0;  ..<..;  ..++)的區別:  
  86. for(x  in arr)中變量x是循環的索引數,即1,2,3....,(實驗一)。  
  87. 這和java不同,在java中的for(x  in arr),x已是數組中的變量了,也就是變量的值。  
  88. 而在for(i=0;  i<arr.length;  i++)這種形式就明確指出了,i就是索引值。  
  89. </body>  
  90. </html>
相關文章
相關標籤/搜索