js中for循环的研究

 

<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>


 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值