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页面刷新与弹出窗口问题的解决方法
Mar 02 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
Mar 26 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
May 05 Javascript
js图片处理示例代码
May 12 Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 Javascript
Vue.js组件tree实现省市多级联动
Dec 02 Javascript
JavaScript结合HTML DOM实现联动菜单
Apr 05 Javascript
JavaScript之Canvas_动力节点Java学院整理
Jul 04 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
Jun 03 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
Sep 05 Javascript
js实现简单点赞操作
Mar 17 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 cURL和Rolling cURL并发方式比较
2013/10/30 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php中define用法实例
2015/07/30 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
职业教育毕业生求职信
2013/11/09 职场文书
小学门卫岗位职责
2013/12/17 职场文书
自我鉴定四大框架
2014/01/17 职场文书
硕士生工作推荐信
2014/03/07 职场文书
2014年清明节寄语
2014/04/03 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
2015年保管员工作总结
2015/04/30 职场文书
上诉答辩状范文
2015/05/22 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
德劲DE1102数字调谐收音机机评
2022/04/07 无线电