本文实例分析了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程序设计有所帮助。

java for in 循环_js的for in循环和java里foreach循环的区别分析相关推荐

  1. Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin

    1.容器API的类图结构如下: JAVA的集合类是一种特别有用的工具类,它可以用于存储数量不等的多个对象,并可以实现常用数据结构,如栈,队列等,除此之外,JAVA集合还可用于保存具有映射关系的关联数组 ...

  2. java for each 的源_Java JDK1.5的新特性之for-each循环的底层原理

    今天给大家分享一下for-each循环的底层原理,故事还得从字节码反汇编和反编译说起... 首先看一下Java JDK1.5的新特性 泛型: ... for-each. ... 自动拆箱和装箱功能 . ...

  3. java实现打印功能_Js 打印功能的实现(Java)

    主要思路:用js写的窗口在jsp中打印 要打印的窗口用js实现(比如print.js),点击窗口上的"打印"按钮进入jsp页面(如print.jsp),在jsp中关联该js (关联 ...

  4. php数组foreach循环添加键值对_在PHP的foreach循环中插入一个$key作为变量

    我有这个数组: $lista_agregados = array('po' => '0', 'brita' => '0'); 而这些数组: $po = array(0 => arra ...

  5. java不进入for_为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作?...

    在阅读<阿里巴巴Java开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 f ...

  6. java foreach6_Java foreach循环是否会创建一个新对象?

    for-each循环没有神奇的对象构造.这个语法: for(Object o : Objects) { for(Object p : Objects2) { } } 这只是简写: for(Iterat ...

  7. Java 8 跳出foreach循环,跳出本次循环,继续执行,之前的for each循环如何跳出本次循环,跳出循环,跳出多层for循环。

    在Java8之前,最开始使用for i 循环,很老旧, 后来有了高级的for each 循环,然后这个跳出本次循环和跳出所有的for循环,都简单,稍微没见过的就是跳出多层for循环. 然后就是Java ...

  8. 为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作...

    在阅读<阿里巴巴 Java 开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下:"不要在foreach循环里进行 r ...

  9. 使用foreach循环遍历Collection集合

    使用 Java 5 提供的 foreach 循环迭代访问集合元素,而且更加便捷.示范了使用 foreach 循环来迭代访问集合元素. public class ForeachTest {public ...

最新文章

  1. Bert代码详解(二)重点
  2. 跟我一起写 Makefile(整理版)
  3. php base64处理
  4. [转] form.getForm().submit的用法及Ext.Ajax.request的小小区别
  5. 皖南医学院2020C语言试卷,安徽继续教育在线 - 皖南医学院
  6. AE 模板 天使之城
  7. 《Python Cookbook 3rd》笔记(3.15):字符串转换为日期
  8. uuid hashcode_Java UUID hashCode()方法与示例
  9. java 守护进程 linux_Java实现Linux下服务器程序的双守护进程
  10. RTOS原理与实现09:事件标志组实现
  11. Wicket实战(二)hello world
  12. Atitit ForkJoinTask的使用以及与futuretask的区别 1.1. Forkjoin原理图 1 1.2. Fork/Join使用两个类完成以上两件事情:ForkJoinTask
  13. Dynamips--RIP协议分析的详细过程1--前期工作准备
  14. 【一】机器学习在网络空间安全研究中的应用
  15. 洛谷 P5520 青原樱(组合数学插板法 or 插空法 模板)
  16. gitee仓库人员上限如何一键删人
  17. 2288H v5服务器恢复IBMC默认密码方法与步骤
  18. 中国最美丽地方排行榜及游览最佳时间
  19. 消防应急疏散通道问题1(难度系数3)
  20. 使用BG/NBD模型与Gamma-Gamma模型预测客户的生命周期价值CLV/LTV

热门文章

  1. 三分钟完全了解PyTorch中卷积层内部计算方法和权值初始值的来历,让你对模型有更深层次的理解
  2. LeetCode-438. 找到字符串中所有字母异位词
  3. dns 修改html,CentOS 8 修改 DNS
  4. java redis订单_redis实现对账(集合比较)功能
  5. 位移运算符 ( ShiftOperator )
  6. java定时器检测状态_java 定时检测服务器端口状态方法(一)
  7. html打开网页过场动画_轻松教你学会网页设计
  8. ubuntu mysql 5.7 远程_ubuntu16.0.4安装mysql5.7以及设置远程访问
  9. linux查看jdk详细版本号,Linux中查看jdk版本
  10. php饿死,中国第一懒人:父母去世后,23岁的他饿死家中