首页 > 编程语言 > 详细

js的for in循环和java里的foreach循环的区别

时间:2014-04-19 03:40:16      阅读:514      评论:0      收藏:0      [点我收藏+]

    js里的for in循环定义如下:

    for(var variable in obj) { ... }

    obj可以是一个普通的js对象或者一个数组。如果obj是js对象,那么variable在遍历中得到的是对象的属性的名字,而不是属性对应的值。如果obj是数组,那么variable在遍历中得到的是数组的下标。

    遍历对象实验:

var v = {};
v.field1 = "a";
v.field2 = "b";
for(var v in v) {
    console.log(v);
}

控制台下输出:
field1 
field2 
    遍历数组实验:

var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (var x in mycars){
  console.log(x);
}

控制台输出:
0 
1
2 
    拿java的foreach循环来做对比,有两大差别。首先java的foreach循环不会去枚举一个java对象的属性。其次,java的foreach循环枚举一个数组或者任何实现了Iterable接口的对象的时候,for(Object o : list), 对象o得到的是list一个元素,而非在列表中的下标。

    java的遍历代码就不贴出来了。经常写后台代码,foreach循环很熟悉。写前台js代码的时候,难免会套用java的语法,所以第一次用js的for in循环的时候犯错了。这次总结清楚,以后就不会犯错误了。

js的for in循环和java里的foreach循环的区别,布布扣,bubuko.com

js的for in循环和java里的foreach循环的区别

原文:http://blog.csdn.net/bruce128/article/details/24040237

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!