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 相关文章推荐
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
May 15 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
Sep 06 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
Jun 30 Javascript
Vue中使用vux的配置详解
May 05 Javascript
JavaScript生成简单等差数列
Nov 28 Javascript
Vue-Router模式和钩子的用法
Feb 28 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
Jun 18 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
python之信息加密题目详解
2019/06/26 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
PHP面试题大全
2015/10/16 面试题
公司培训欢迎词
2014/01/10 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
派出所所长先进事迹
2014/05/19 职场文书
化学专业自荐信
2014/05/28 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
《开国大典》教学反思
2016/02/16 职场文书
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python