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


Posted in Javascript onJanuary 28, 2015

本文实例分析了js的for in循环和java里foreach循环的区别。分享给大家供大家参考。具体分析如下:

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循环的时候犯错了。这次总结清楚,以后就不会犯错误了。

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
Sep 12 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
Oct 24 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 Javascript
ie8模式下click无反应点击option无反应的解决方法
Oct 11 Javascript
JavaScript简单实现鼠标移动切换图片的方法
Feb 23 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
Aug 29 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
JS实现求5的阶乘示例
Jan 21 Javascript
Vue对象赋值视图不更新问题及解决方法
Jun 03 Javascript
详解CocosCreator项目结构机制
Apr 14 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 #Javascript
Jquery 实现grid绑定模板
Jan 28 #Javascript
Javascript控制input输入时间格式的方法
Jan 28 #Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 #Javascript
js封装可使用的构造函数继承用法分析
Jan 28 #Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 #Javascript
javascript原型链继承用法实例分析
Jan 28 #Javascript
You might like
php注入实例
2006/10/09 PHP
如何把PHP转成EXE文件
2006/10/09 PHP
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
最短的IE判断代码
2011/03/13 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
js实现复制功能(多种方法集合)
2018/01/06 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Python序列类型的打包和解包实例
2019/12/21 Python
NumPy排序的实现
2020/01/21 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
给同学的道歉信
2014/01/16 职场文书
小学毕业感言300字
2014/02/19 职场文书
运动会开幕式主持词
2014/03/28 职场文书
房屋转让协议书
2014/04/11 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书