全面解析for循环
牛刀小试:
for(var i = 0 ; i < 100; i++) {console.log(i);}
var i = 0;//第一个代码段
i < 100; //第二个代码段
i++; //第三个代码段
{console.log(i);}//第四个代码段
我们以"一二三四"来分别代表代码段一二三四,其实for循环执行顺序是:一二四三(二四三)(二四三)...【如果条件成立二四三会重复执行直到第二个代码段不成立才结束循环】
练习1:用for循环嵌套打印乘法口诀
1*1=1
    2*1=1 2*2=4
    3*1=3 3*2=6 3*3=9
    .....
    ........
    9*1=9 9*2=18 ......9*9=91
//设i,j两个变量,它们的初始值都是1, i最大值为9 j最大值也为9 j永远小于等于i
for (var i = 1; i <= 9; i++) { //外层循环
for (var j = 1; j <= i; j++) { //内层循环 document.writeln(i + "*" + j + "=" + (i * j) + "   "); } document.write('<br>');
}
这代码转为流程图如下:

练习2:打印10以内的质数(质数就是大于1而且只能被1与自身整除的正整数)
这题可以有两种写法,下面是采用continue的写法,也可以用break实现打印10以内的质数:
A:
for(var i =2; i<10; i++){ for(var j=2; j<i; j++){ //思考下为什么这边为啥用‘<’而不用‘<=’
console.log( i+'-'+j ); if( i%j==0){ continue A; } } document.write( '10以内的质数是' + i +'<br>' );
}
一开始,i是2,j也是2,j<i不成立那么直接
document.write( '10以内的质数是' + 2 +'<br>' ); 接着,i是3,j是2,j<i成立,console.log( 3+'-'+2 );
3%2==0不成立,那么j++
再接着,i是3,j是3,j<i不成立那么直接
document.write( '10以内的质数是' + 3 +'<br>' ); 继续,i是4,j是2,j<i成立,
console.log( 4+'-'+2 );
4%2==0成立,所以continue A;(跳出内存for循环,继续执行执行外层A结构体) 继续,i是5,j是2,j<i成立,
console.log( 5+'-'+2 );
5%2==0不成立,j++
下面i是5,j是3,j<i成立,
console.log( 5+'-'+3 );
5%3==0不成立,j++
下面i是5,j是4,j<i成立,
console.log( 5+'-'+4 );
5%4==0不成立,j++
下面i是5,j是5,j<i不成立,
document.write( '10以内的质数是' + 5 +'<br>' );
...
...
......后面不一一略举了...... 总之,理解了for循环的运行流程才算是编程入门,结果出来了,要多想想为什么结果是这样,浏览器是内部运行js代码的流程是咋样的,下面附上运行结果截图
全面解析for循环的更多相关文章
- 解析spring循环依赖策略
		
循环依赖 所谓循环依赖就是多个Bean之间依赖关系形成一个闭环,例如A->B->C->...->A 这种情况,当然,最简单的循环依赖就是2个Bean之间互相依赖:A->B ...
 - Netty源码解析 -- 事件循环机制实现原理
		
本文主要分享Netty中事件循环机制的实现. 源码分析基于Netty 4.1 EventLoop 前面分享服务端和客户端启动过程的文章中说过,Netty通过事件循环机制(EventLoop)处理IO事 ...
 - 解析for循环
		
循环的作用就是让一个程序.连续进行一遍又一遍的循环: for循环: 分为四大类: 初始状态:相当于他一开始的数值,或条件: 循环条件:满足进行循环,不满足则停止: 循环体:循环的东西,程序: 状态改变 ...
 - Java循环解析
		
Java循环解析 while循环(先判断) int i=0; while (i<100){ i++; System.out.println(i); } DoWhile循环(先执行,后 ...
 - 使用JsonObject解析json
		
第一种: [ { "0": "1", "1": "一", "id": "1", ...
 - C#实现DNS解析服务
		
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnUAAAENCAIAAADmDAQyAAAat0lEQVR4nO3dbXRU9YHH8ftq2+1uT7
 - JavaScript是如何工作的:事件循环和异步编程的崛起 + 5种使用 async/await 更好地编码方式!
		
摘要: 深度理解JS事件循环!!! 原文:JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式! 作者:前端小智 Fundebug经授权转载, ...
 - 6 admin(注册设计)源码解析、单例模式
		
1.单例模式 https://www.cnblogs.com/yuanchenqi/articles/8323452.html 单例模式(Singleton Pattern)是一种常用的软件设计模式, ...
 - jquery测试解析
		
1.下列获取元素范围大小顺序错误的是 (选择一项) 1 A: B: C: D: 本题选择D 解析: 获取元素范围大小顺序依次为: $(#one).siblings("div")&g ...
 
随机推荐
- akoj-1059-Picture
			
Description 给你一个矩形的宽度和高度,要求按sample output样例输出此矩形. Input 输入包含多组数据,每一组包含两个数N和M( 0 < N ,M , < 75 ...
 - MySQL编程基础
			
本文是关于MySQL编程中的一些基础知识,包括变量和运算符.常用语句.函数. 一.变量与运算符 1.用户会话变量声明:SET @变量名 = 表达式;//即:用户会话变量无需提前定义,直接用赋值语句赋值 ...
 - css 定位功能position
			
Static 定位 HTML元素的默认值,即没有定位,元素出现在正常的流中.静态定位的元素不会受到top, bottom, left, right影响. 相对定位Relative相对定位元素的定位是相 ...
 - android学习ViewFlipper的使用
			
android系统自带的多页面管理控件,它可以实现子页面的自动切换 1,为ViewFlipper添加View 静态导入:在layout布局文件中直接导入 动态导入:通过addview方法进行导入 2, ...
 - 模拟exit()退出命令实现
			
1.当输入exit命令是退出程序,如果输入其他的就打印====> 方法一while True: username=input("请输入你的用户名:>>>") ...
 - php基础函数
			
函数四要素:返回类型(php没有返回类型), 函数名,参数列表,函数体//php定义函数的方式 简单 例://function show(){// echo "狗头铡伺候" ...
 - 【Spring 核心】装配bean(二) JavaConfig装配
			
前面介绍完了组件扫描和自动装配,这里再来看一下装配bean的另一种方式JavaConfig. 包路径: src/main/java com.bonc-|--config--|--CDPlayerCon ...
 - CSS关键词的值-currentColor关键字(当前颜色)
			
currentColor关键字 currentColor关键字相当于一个CSS变量. currentColor关键字与CSS变量也是有区别的: (1)他只可以能接受<color>值的地方使 ...
 - Andrew Ng机器学习课程笔记--week5(上)
			
Neural Networks: Learning 内容较多,故分成上下两篇文章. 一.内容概要 Cost Function and Backpropagation Cost Function Bac ...
 - 总结找到后台路径的N总思路方法
			
1, 穷举猜解 现如今可以暴力猜解网站后台登陆地址的软件有很多,从最早的啊D注入工具开始,一直到现在很多常用的工具(通常为SQL注入利用工具)都会带有后台登陆地址猜解的功能. 当然了,这个猜 ...
 
			
		