js中for循环的研究

来源:互联网 发布:mvp 网络请求 编辑:程序博客网 时间:2024/05/16 14:16

 

<html><body><b><center>  js中for循环的研究 </center></b><script type="text/javascript">//使用for (obj in array)的形式obj不用声明。var mycars = new Array();mycars[0] = "Saab";mycars[1] = "Volvo";mycars[2] = "BMW";//实验一:/*  for (x in mycars){//alert('--'+x);//每次弹出--0,--1,--2,而不是变量的内容document.write(mycars[x] + "------x---<br />")}alert(x);//2*///实验二:/*  for (var y in mycars){document.write(mycars[y] + "--y---<br />")}alert(y);//2*///实验三:/*  for (i=0;i<mycars.length;i++){document.write(mycars[i] + "---i----<br />")}alert(i);//3,之所以是3,是因为在循环外,最后还要走一次i++*///实验四:/*   for (var k=0;k<mycars.length;k++){document.write(mycars[k] + "---k---<br />")}alert(k);//3*///实验五:/*   for (var h=0;h<mycars.length;h++){document.write(mycars[h] + "---h---<br />")var objhhh='haha';}alert(objhhh);//haha*/</script>从上面的实验可以得出以下几点结论:1,在for循环中变量都是全局的。不像java,在函数内声明的变量,在函数外不能直接访问,js都是全局的,所以可以访问。(实验五)2,基于上面的结论,我们可以知道,在for()循环中,括号中的变量最后已经改变了,而且是全局变量,可以在循环外被访问。3,对于for循环,本实验要说明的是在for(..  in ..)或者for(..=0;  ..<..;  ..++)这两种形式变量前面的var可以声明,也可以不声明。(实验一到实验四)。js默认会帮你声明一个var(否则的话,这个变量本应该是undefined了)。4,再谈for(..  in ..)和for(..=0;  ..<..;  ..++)的区别:for(x  in arr)中变量x是循环的索引数,即1,2,3....,(实验一)。这和java不一样,在java中的for(x  in arr),x已经是数组中的变量了,也就是变量的值。而在for(i=0;  i<arr.length;  i++)这种形式就明确指出了,i就是索引值。</body></html>