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基本编码模式小结
May 23 Javascript
浅析JavaScript中的隐式类型转换
Dec 05 Javascript
JQuery处理json与ajax返回JSON实例代码
Jan 03 Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
js继承实现方法详解
Dec 16 Javascript
VUE开发一个图片轮播的组件示例代码
Mar 06 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 Javascript
解决vue同一slot在组件中渲染多次的问题
Sep 06 Javascript
详解基于React.js和Node.js的SSR实现方案
Mar 21 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封装的HttpClient类用法实例
2015/06/17 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
2013/11/25 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
jQuery实现广告条滚动效果
2017/08/22 jQuery
玩转vue的slot内容分发
2018/09/22 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
用Python编写web API的教程
2015/04/30 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
Python多线程多进程实例对比解析
2020/03/12 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
门店业绩提升方案
2014/06/08 职场文书
单位员工收入证明样本
2014/10/09 职场文书
市级三好学生评语
2014/12/29 职场文书
顶岗实习计划书
2015/01/16 职场文书
地震捐款简报
2015/07/21 职场文书
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript
MySQL主从切换的超详细步骤
2022/06/28 MySQL