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 相关文章推荐
ajax 缓存 问题 requestheader
Aug 01 Javascript
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
Mar 03 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
微信小程序 基础组件与导航组件详细介绍
Feb 21 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
浅谈angular4生命周期钩子
Sep 05 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
Sep 14 Javascript
原生js封装运动框架的示例讲解
Oct 01 Javascript
ionic选择多张图片上传的示例代码
Oct 10 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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
PHP 采集程序原理分析篇
2010/03/05 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
超清晰的document对象详解
2007/02/27 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
Python中的__SLOTS__属性使用示例
2015/02/18 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
python爬虫可以爬什么
2020/06/16 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
精通CAD能手自荐书
2014/01/31 职场文书
初中作文评语集锦
2014/12/25 职场文书
公务员个人年终总结
2015/02/12 职场文书
大学学生会辞职信
2015/05/13 职场文书
2016党校学习心得体会
2016/01/07 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript