js中for循环的研究
转自:http://blog.csdn.net/lushuaiyin/article/details/8541500
- <html>
- <body>
- <b><center>
- js中for循环的研究
- </center></b>
- <script type="text/javascript">
- //使用for (obj in array)的形式obj不用声明。
- var mycars = new Array();
- mycars[0] = "Saab";
- mycars[1] = "Volvo";
- mycars[2] = "BMW";
- //实验一:
- /*
- for (x in mycars)
- {
- //alert('--'+x);//每次弹出--0,--1,--2,而不是变量的内容
- document.write(mycars[x] + "------x---<br />")
- }
- alert(x);//2
- */
- //实验二:
- /*
- for (var y in mycars)
- {
- document.write(mycars[y] + "--y---<br />")
- }
- alert(y);//2
- */
- //实验三:
- /*
- for (i=0;i<mycars.length;i++)
- {
- document.write(mycars[i] + "---i----<br />")
- }
- alert(i);//3,之所以是3,是因为在循环外,最后还要走一次i++
- */
- //实验四:
- /*
- for (var k=0;k<mycars.length;k++)
- {
- document.write(mycars[k] + "---k---<br />")
- }
- alert(k);//3
- */
- //实验五:
- /*
- for (var h=0;h<mycars.length;h++)
- {
- document.write(mycars[h] + "---h---<br />")
- var objhhh='haha';
- }
- alert(objhhh);//haha
- */
- </script>
- 从上面的实验可以得出以下几点结论:
- 1,在for循环中变量都是全局的。不像java,在函数内声明的变量,在函数外不能直接访问,js都是全局的,
- 所以可以访问。(实验五)
- 2,基于上面的结论,我们可以知道,在for()循环中,括号中的变量最后已经改变了,而且是全局变量,
- 可以在循环外被访问。
- 3,对于for循环,本实验要说明的是在for(.. in ..)
- 或者for(..=0; ..<..; ..++)这两种形式变量前面的var可以声明,也可以不声明。(实验一到实验四)。
- js默认会帮你声明一个var(否则的话,这个变量本应该是undefined了)。
- 4,再谈for(.. in ..)和for(..=0; ..<..; ..++)的区别:
- for(x in arr)中变量x是循环的索引数,即1,2,3....,(实验一)。
- 这和java不一样,在java中的for(x in arr),x已经是数组中的变量了,也就是变量的值。
- 而在for(i=0; i<arr.length; i++)这种形式就明确指出了,i就是索引值。
- </body>
- </html>
js中for循环的研究的更多相关文章
- js中的循环语句
js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) { //statements;} var a=1,b=0; whil ...
- js中的循环
js中的循环是我们经常要用到的,现在进行一些归纳. 一.javascript种的循环. 1.循环对象 var o = { name: 'Jack', age: 20, city: 'Beijing' ...
- java和js中for循环的区别
java中for循环,先执行语句后循环 for (int i=1;i<10;i++){ for(int b=1;b<=i;b++){ System.out.print(b+"*& ...
- JS中的循环嵌套 BOM函数
[嵌套循环特点] 外层循环转一次,内层循环转一圈 外层循环控制行数,内层循环控制每行元素个数 [做 ...
- JS中for循环变量作用域--解决for循环异步执行的问题
被这个问题困惑了很久,终于在网上找到了答案,感谢~ 现在分享给大家~ js中如何让一个for循环走完之后,再去执行下面的语句? 这涉及for循环变量作用域的问题,js中作用域只有函数作用域和全局作用域 ...
- 简单聊一聊JS中的循环引用及问题
本文主要从 JS 中为什么会出现循环引用,垃圾回收策略中引用计数为什么有很大的问题,以及循环引用时的对象在使用 JSON.stringify 时为什么会报错,怎样解决这个问题简单谈谈自己的一些理解. ...
- Js中for循环的阻塞机制
Js阻塞机制,跟Js引擎的单线程处理方式有关,每个window一个JS线程.所谓单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码. 由于浏览器是事件驱动的(Event driven) ...
- JS实现停留几秒sleep,Js中for循环的阻塞机制,setTimeout延迟执行
//第一种,使用while循环 function sleep(delay) { var start = (new Date()).getTime(); while((new Date()).getTi ...
- JS中for循环嵌套
for 循环 for语句也是一种前测试循环语句,但它具有在 执行循环之前初始化变量 和 定义循环后要执行的代码的能力 for循环中专门提供了位置来放置循环的三个表达式 定义一个循环需要做实现这三步: ...
随机推荐
- 挑战10个最难回答的Java面试题(附答案)
译者:Yujiaao segmentfault.com/a/1190000019962661 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容 ...
- python爬虫执行js代码-execjs
一.安装模块 pip install PyExecJS execjs会自动使用当前电脑上的运行时环境(建议用nodejs,与Phantomjs) 二.简单的使用 import execjs js_ob ...
- 松软科技web课堂:SQLServer之UCASE() 函数
UCASE() 函数 UCASE 函数把字段的值转换为大写. SQL UCASE() 语法 SELECT UCASE(column_name) FROM table_name SQL UCASE() ...
- Data Management Technology(4) -- 关系数据库理论
规范化问题的提出 在规范化理论出现以前,层次和网状数据库的设计只是遵循其模型本身固有的原则,而无具体的理论依据可言,因而带有盲目性,可能在以后的运行和使用中发生许多预想不到的问题. 在关系数据库系统中 ...
- SQL Server要拷贝默认目录下的使用数据库需要停止的服务
- 机器学习(1)——K近邻算法
KNN的函数写法 import numpy as np from math import sqrt from collections import Counter def KNN_classify(k ...
- JUC-4-CopyOnWriteArrayList
什么是CopyOnWrite容器 CopyOnWrite容器即写时复制的容器.通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新 ...
- MongoDB学习笔记(一、MongoDB入门)
目录: 为什么要使用nosql mongo的简介 应用场景 入门demo 为什么要使用nosql: 随着互联网的发展,用户数量激增,访问量的上涨,传统的关系型数据库的性能也趋于瓶颈. 关系型数据库难以 ...
- 201871010123-吴丽丽 《面向对象程序设计(Java)》第十六周学习总结
201871010123-吴丽丽 <面向对象程序设计(Java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- R语言-laohuji
项目三-tiger机 说明:每玩一次老ji游戏需要花费一元钱.钻石符号(DD)可以百搭,并且能够将最终的金额加倍. 任务分解: 任务分解的步骤: 将复杂的任务分解为一些简单的子任务: 使用实例: 用通 ...