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 相关文章推荐
jquery 最简单的属性菜单
Oct 08 Javascript
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
js 操作符汇总
Nov 08 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
javascript文本模板用法实例
Jul 31 Javascript
JS实现浏览器状态栏显示时间的方法
Oct 27 Javascript
你应该了解的JavaScript Array.map()五种用途小结
Nov 14 Javascript
小程序实现多列选择器
Feb 15 Javascript
Vue Autocomplete 自动完成功能简单示例
May 25 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 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
20个PHP常用类库小结
2011/09/11 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
python TKinter获取文本框内容的方法
2018/10/11 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
自我评价的写作规则
2014/01/06 职场文书
初一体育教学反思
2014/01/29 职场文书
应急管理培训方案
2014/06/12 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2015年计划生育责任书
2015/05/08 职场文书
活动主持人开场白
2015/05/28 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
python程序的组织结构详解
2021/12/06 Python
python套接字socket通信
2022/04/01 Python
TS 类型收窄教程示例详解
2022/09/23 Javascript