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中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
js获取指定日期周数以及星期几的小例子
Jun 27 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
Aug 15 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 Javascript
全面解析node 表单的图片上传
Nov 21 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
express如何解决ajax跨域访问session失效问题详解
Jun 20 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 操作文件的一些FAQ总结
2009/02/12 PHP
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
启用Csrf后POST数据时出现的400错误
2015/07/05 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
Python常见异常分类与处理方法
2017/06/04 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
土木工程个人自荐信范文
2013/11/30 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
2014年国庆标语
2014/06/30 职场文书
公司员工辞职信范文
2015/05/12 职场文书
2015年财政局工作总结
2015/05/21 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
Android自定义双向滑动控件
2022/04/19 Java/Android