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循环中专门提供了位置来放置循环的三个表达式 定义一个循环需要做实现这三步: ...
随机推荐
- 如何使用SpringBoot封装自己的Starter
作者:Sans_ juejin.im/post/5cb880c2f265da03981fc031 一.说明 我们在使用SpringBoot的时候常常要引入一些Starter,例如spring-boot ...
- SpringCloud的入门学习之概念理解、Feign负载均衡入门
1.Feign是SpringCloud的一个负载均衡组件. Feign是一个声明式WebService客户端.使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口, ...
- zabbix snmp监控与主被模式
1.snmp基础介绍 snmp全称是简单网络管理协议 为什么要用? 路由器交换机无法安装agent程序,但是都提供snmp服务端, 我们可以使用zabbix的snmp方式监控snmp服务端的数据 2. ...
- SSM框架之Mybatis(7)延迟加载、缓存及注解
Mybatis(7)延迟加载.缓存及注解 1.延迟加载 延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. **好处:**先从单表查询,需要时再从关联表去关 ...
- vue-cli 3.0按需引入element-ui
vue-cli 3.0脚手架初始化项目成功后,如果需要按需引入element-ui,按照官网的教程,会报如下错误: 这个是由于babel编译插件版本问题,需要安装最新的babel编译插件“@babel ...
- Springboot 整合 MyBatis(一):跑起来
0x1 环境 1. 系统:Windows 10 2. IDE:IntelliJ IDEA 2018.3 x64 0x2 创建项目 1.创建一个SpringBoot项目 选择Spring Initail ...
- MySql 字段分组拼接
drop table if exists T_Test; create table T_Test select 'A' parent, 'A1' child union all select 'A', ...
- myeclipse 9.0 破解方法,亲测可用
MyEclipse 9.0的破解方法,步骤如下: 1.破解公钥,确保MyEclipse没有开启,否则失败! 用WinRAR打开Common\plugins\com.genuitec.eclipse.c ...
- UML工具-1-StarUML下载及破解
UML工具-StarUML 下载地址 http://staruml.io/
- go语言设计模式之Chain Of Responsibility(责任链)
ChainOfResponsibility.go package ChainOfResponsibility import ( "fmt" "io" " ...