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 相关文章推荐
javascript之函数直接量(function(){})()
Jun 29 Javascript
JavaScript面象对象设计
Apr 28 Javascript
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
JS基于面向对象实现的放烟花效果
May 07 Javascript
node.js实现快速截图
Aug 27 Javascript
微信小程序 Image API实例详解
Sep 30 Javascript
浅谈jQuery中事情的动态绑定
Feb 12 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
Sep 20 Javascript
Vue基于NUXT的SSR详解
Oct 24 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
Oct 14 Javascript
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
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
第三节 定义一个类 [3]
2006/10/09 PHP
php正则表达式(regar expression)
2011/09/10 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
PHP面向对象法则
2012/02/23 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
深入PHP数据加密详解
2013/06/18 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
javascript 写类方式之三
2009/07/05 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
Python实现合并字典的方法
2015/07/07 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
python函数的万能参数传参详解
2019/07/26 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
浅析python redis的连接及相关操作
2019/11/07 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
校车安全责任书
2014/08/25 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
电影圆明园观后感
2015/06/03 职场文书
身份证丢失证明
2015/06/19 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
Golang 实现WebSockets
2022/04/24 Golang