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 相关文章推荐
node.js中的fs.stat方法使用说明
Dec 16 Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 Javascript
JavaScript实现in-place思想的快速排序方法
Aug 07 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
Node.js的基本知识简单汇总
Sep 19 Javascript
javascript中的深复制详解及实例分析
Dec 29 Javascript
laydate.js日期时间选择插件
Jan 04 Javascript
jQuery选择器之属性过滤选择器详解
Sep 28 jQuery
如何正确理解vue中的key详解
Nov 02 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
vue学习笔记之作用域插槽实例分析
Feb 01 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
Aug 11 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 验证码的实现代码
2011/07/17 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
javascript 常用方法总结
2009/06/03 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
js快速排序的实现代码
2013/12/08 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
100行代码实现一个vue分页组功能
2018/11/06 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
python实现复制整个目录的方法
2015/05/12 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
wxpython实现图书管理系统
2018/03/12 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
锐步英国官网:Reebok英国
2019/11/29 全球购物
大学中国梦演讲稿
2014/04/23 职场文书
党日活动总结
2014/05/07 职场文书
安全生产协议书
2016/03/22 职场文书
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL