转自:http://blog.csdn.net/lushuaiyin/article/details/8541500

  1. <html>
  2. <body>
  3. <b><center>
  4. js中for循环的研究
  5. </center></b>
  6. <script type="text/javascript">
  7. //使用for (obj in array)的形式obj不用声明。
  8. var mycars = new Array();
  9. mycars[0] = "Saab";
  10. mycars[1] = "Volvo";
  11. mycars[2] = "BMW";
  12. //实验一:
  13. /*
  14. for (x in mycars)
  15. {
  16. //alert('--'+x);//每次弹出--0,--1,--2,而不是变量的内容
  17. document.write(mycars[x] + "------x---<br />")
  18. }
  19. alert(x);//2
  20. */
  21. //实验二:
  22. /*
  23. for (var y in mycars)
  24. {
  25. document.write(mycars[y] + "--y---<br />")
  26. }
  27. alert(y);//2
  28. */
  29. //实验三:
  30. /*
  31. for (i=0;i<mycars.length;i++)
  32. {
  33. document.write(mycars[i] + "---i----<br />")
  34. }
  35. alert(i);//3,之所以是3,是因为在循环外,最后还要走一次i++
  36. */
  37. //实验四:
  38. /*
  39. for (var k=0;k<mycars.length;k++)
  40. {
  41. document.write(mycars[k] + "---k---<br />")
  42. }
  43. alert(k);//3
  44. */
  45. //实验五:
  46. /*
  47. for (var h=0;h<mycars.length;h++)
  48. {
  49. document.write(mycars[h] + "---h---<br />")
  50. var objhhh='haha';
  51. }
  52. alert(objhhh);//haha
  53. */
  54. </script>
  55. 从上面的实验可以得出以下几点结论:
  56. 1,在for循环中变量都是全局的。不像java,在函数内声明的变量,在函数外不能直接访问,js都是全局的,
  57. 所以可以访问。(实验五)
  58. 2,基于上面的结论,我们可以知道,在for()循环中,括号中的变量最后已经改变了,而且是全局变量,
  59. 可以在循环外被访问。
  60. 3,对于for循环,本实验要说明的是在for(..  in ..)
  61. 或者for(..=0;  ..<..;  ..++)这两种形式变量前面的var可以声明,也可以不声明。(实验一到实验四)。
  62. js默认会帮你声明一个var(否则的话,这个变量本应该是undefined了)。
  63. 4,再谈for(..  in ..)和for(..=0;  ..<..;  ..++)的区别:
  64. for(x  in arr)中变量x是循环的索引数,即1,2,3....,(实验一)。
  65. 这和java不一样,在java中的for(x  in arr),x已经是数组中的变量了,也就是变量的值。
  66. 而在for(i=0;  i<arr.length;  i++)这种形式就明确指出了,i就是索引值。
  67. </body>
  68. </html>

js中for循环的研究的更多相关文章

  1. js中的循环语句

    js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; whil ...

  2. js中的循环

    js中的循环是我们经常要用到的,现在进行一些归纳. 一.javascript种的循环. 1.循环对象 var o = { name: 'Jack', age: 20, city: 'Beijing' ...

  3. java和js中for循环的区别

    java中for循环,先执行语句后循环 for (int i=1;i<10;i++){ for(int b=1;b<=i;b++){ System.out.print(b+"*& ...

  4. JS中的循环嵌套 BOM函数

    [嵌套循环特点]                           外层循环转一次,内层循环转一圈              外层循环控制行数,内层循环控制每行元素个数             [做 ...

  5. JS中for循环变量作用域--解决for循环异步执行的问题

    被这个问题困惑了很久,终于在网上找到了答案,感谢~ 现在分享给大家~ js中如何让一个for循环走完之后,再去执行下面的语句? 这涉及for循环变量作用域的问题,js中作用域只有函数作用域和全局作用域 ...

  6. 简单聊一聊JS中的循环引用及问题

    本文主要从 JS 中为什么会出现循环引用,垃圾回收策略中引用计数为什么有很大的问题,以及循环引用时的对象在使用 JSON.stringify 时为什么会报错,怎样解决这个问题简单谈谈自己的一些理解. ...

  7. Js中for循环的阻塞机制

    Js阻塞机制,跟Js引擎的单线程处理方式有关,每个window一个JS线程.所谓单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码. 由于浏览器是事件驱动的(Event driven) ...

  8. JS实现停留几秒sleep,Js中for循环的阻塞机制,setTimeout延迟执行

    //第一种,使用while循环 function sleep(delay) { var start = (new Date()).getTime(); while((new Date()).getTi ...

  9. JS中for循环嵌套

    for 循环 for语句也是一种前测试循环语句,但它具有在 执行循环之前初始化变量 和 定义循环后要执行的代码的能力 for循环中专门提供了位置来放置循环的三个表达式 定义一个循环需要做实现这三步: ...

随机推荐

  1. Django之web框架原理

    Web框架原理 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 先写一个 原始的web框架 imp ...

  2. Java入门系列之集合Hashtable源码分析(十一)

    前言 上一节我们实现了散列算法并对冲突解决我们使用了开放地址法和链地址法两种方式,本节我们来详细分析源码,看看源码中对于冲突是使用的哪一种方式以及对比我们所实现的,有哪些可以进行改造的地方. Hash ...

  3. 并发容器之ConcurrentHashMap(JDK 1.8版本)

    1.ConcurrentHashmap简介 在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hasht ...

  4. 转战物联网·基础篇06-深入理解MQTT协议之基本术语

      通过上一节我们对MQTT协议已经有了初步的印象,这一节我们开始深入的理解一下MQTT协议,介绍常用的MQTT 3.1.1版本,5.0版本后面指介绍新增部分即可.这一节我们先介绍MQTT里常用的术语 ...

  5. Fundebug前端异常监控插件更新至2.0.0,全面支持TypeScript

    摘要: 是时候支持TS了! Fundebug前端异常监控服务 Fundebug提供专业的前端异常监控服务,我们的插件可以提供全方位的异常监控,可以帮助开发者第一时间定位各种前端异常,包括但不限于Jav ...

  6. 微信扫码登陆,qq登陆,微博登陆等第三方登陆成功后返回原来的页面并进行跳转

    原理很简单,主要是利用到window.open的第二个属性,name 前端: 原来的网页给window命名为 window.name="single" window.open(“第 ...

  7. centos图形化桌面安装过程

    连接 1.安装xwindow yum -y groupinstall "X Window System" \\安装 X Window System 环境 2.安装gnome des ...

  8. fork函数的一些小结

    今天遇到一个这样的问题,假设父进程有一个变量S,fork后,子进程中的变量S地址是否和父进程中的变量S 是相同的? 再学操作系统的时候,知道fork是采用的写时复制,所以如果子进程或者父进程不对变量S ...

  9. requests---requests请求表单

    在做接口测试的时候我们会遇到过需要填写表单的形式,那么如何通过requests进行请求呢? 这里需要引入新的python的第3方库requests-toolbelt requests-toolbelt ...

  10. 手机号码生成器app,手机上用的

    手机号码生成器app,在日常的工作中可能会用到,它是用来找客人用的,不是生成了拿来做手机卡使用的,可能很多人会误解他的功能. 其实他的操作并不复杂,大体分为三步. 第一步,选择省份城市比如我们选择了甘 ...