流程:就是程序代码的执行顺序

流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行

1.顺序结构(按照书写顺序来执行,是程序中最基本的流程结构)

2.选择结构(分支结构、条件结构):根据给定的条件有选择的执行形相应的语句

if else

1.单路分支

*.条件可以是表达式也可以是任何的数据类型

*.大括号会把他里面的代码当作一个整体来运行,如果只有一条语句,可以省略大括号

if(1<2)alert(1);
if (条件){
//只有当条件为 true 时执行的代码
}

2.双路分支

if (条件){
//当条件为 true 时执行的代码
}else{
//当条件不为 true 时执行的代码
}

3.多路分支

if (条件 1){
//当条件 1 为 true 时执行的代码
}else if (条件 2){
//当条件 2 为 true 时执行的代码
}else{
//当条件 1 和 条件 2 都不为 true 时执行的代码
}

4.嵌套分支

if(1<2){
if(){
}else{
}
}else{
}

switch

switch(n){
case 1:
//执行代码块 1
break;
case 2:
//执行代码块 2
break;
default:
//n 与 case 1 和 case 2 不同时执行的代码
}

*************************************************
1.当判断某种范围的时候最好用if语句,当判断单个值时候用switch
2.条件满足的情况不可以重复,会发生不可预期的错误。
*************************************************

3.循环结构(在给定的条件满足下,反复执行同一段代码)

for(循环代码块一定的次数)

for (语句 1; 语句 2; 语句 3){
//被执行的代码块
}
//语句 1 在循环(代码块)开始前执行
//语句 2 定义运行循环(代码块)的条件
//语句 3 在循环(代码块)已被执行之后执行

while(循环会在指定条件为真时循环执行代码块)

while (条件){
//需要执行的代码
}
// 99乘法表
var a=1;
while(a<=9){
var b=1;
while(b<=a){
document.write(b+'*'+a+'='+a*b+'&nbsp;&nbsp;&nbsp;');
b++;
}
document.write('<br>');
a++;
}

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环

do{
//需要执行的代码
}
while (条件);

#######################################
do{}while 和 while的区别
1.while:当条件满足时,执行循环体,当不满足时退出循环;先判断,后循环
2.do{}while:先执行一次,再进行条件判断;条件满足再循环,不满足退出循环

for 和 while 的区别
1.for:一般用于循环指定的次数(知道循环次数)
2.while是根据条件真假来循环,当真时进行循环,假退出循环(未知循环次数)
#######################################

4.流程控制--跳转语句(在循环控制语句中,当 满足指定条件 的时候,退出循环 或者是退出 当前 循环的语句。)

1.break;跳出并且终止循环,如果后面有代码,则继续往下执行。

2.continue;跳出并且终止当前的循环,如果下个值仍满足循环条件,则继续循环

*******
break:

A.switch循环指的是当满足某个条件后,退出switch语句

B.用在循环语句当中,跳出并且终止循环,如果后面有代码,则继续往下执行

continue:

A.只能用在循环语句当中, 跳出并且终止当前的循环,如果下个值仍满足循环条件,则继续循环

B.最好用适当的语句代替continue(continue效率低)

//例子:
for(var i=1;i<5;i++){
if(i!=3){
document.write(i);
};
}
//等价于
for(var i=1;i<5;i++){
if(i==3){continue;};
document.write(i);
}

5、标签语句(用来退出多层循环)
break out;
continue out;

注意:标签名只可以作用于break 或continue

ab:
for(var i=1;i<5;i++){
document.write(i+'<br>');
for(var b=1;b<6;b++){
if(i==3){continue ab;};
document.write('b'+b+'<br>');
}
}

6、with(){}用于设置代码在对象中的作用域。
*************************************************
不建议使用。
with(document){
write(1);
write(2);
write(3);
write(4);
write(5);
}
结果 12345
*************************************************

javascript笔记整理(流程控制)的更多相关文章

  1. JavaScript运算符与流程控制

    JavaScript运算符与流程控制 运算符 赋值运算符 使用=进行变量或常量的赋值. <script> ​ let username = "YunYa"; ​ < ...

  2. 《Node.js In Action》笔记之流程控制

    转向Javascript后,开始学习了node.js,选择的第一本书是<Node.js in Action> 将近一个月时间,断断续续看完,选几个点做下笔记 1.实现串行化流程控制 var ...

  3. Javascript初识之流程控制、函数和内置对象

    一.JS流程控制 1. 1.if else var age = 19; if (age > 18){ console.log("成年了"); }else { console. ...

  4. JavaScript之if流程控制演练,if写在区间内怎么解决

    什么是编程?通俗意见上来讲,就是把人的思维与步骤通过代码的形式书写展示出来,JavaScript的流程控制包含条件判断if,switch选择,循环for while:if(表达式 条件)=>真{ ...

  5. 【原】Java学习笔记005 - 流程控制

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 程序的流程控制(流 ...

  6. Python学习笔记 - day4 - 流程控制

    Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等 ...

  7. PL/SQL笔记(1)-流程控制,循环,异常,块

    流程控制 1.If,then,else,elsif(不是elseif) ' then null; endif; 2.Case 简单case表达式: 搜索型Case表达式: 3.goto语句 begin ...

  8. C#学习笔记_04_流程控制

    04_流程控制 程序的执行结构: 顺序结构 分支结构 循环结构 可以通过某些特定的控制语句来控制代码的执行结构 分支流程控制 if else 基本语法 可以只有if没有else,但是不能没有if只有e ...

  9. PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数

    前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...

随机推荐

  1. selenium+BeautifulSoup+phantomjs爬取新浪新闻

    一 下载phantomjs,把phantomjs.exe的文件路径加到环境变量中,也可以phantomjs.exe拷贝到一个已存在的环境变量路径中,比如我用的anaconda,我把phantomjs. ...

  2. linux 下dd命令直接清除分区表(不用再fdisk一个一个的删除啦)

    分区表是硬盘的分区信息,要删除一个硬盘的所有分区表很麻烦的,需要fdisk一个一个的删除,其实dd命令可直接清除分区信息,当然,这也是linux给root用户留下的作死方法之一.dd 命令主要参数如下 ...

  3. jQuery通知插件noty

    jQuery 通知查件noty 简单使用 官方:http://ned.im/noty/ 其它查件推荐 NotifIt Demo http://js.itivy.com/jiaoben1852/inde ...

  4. Linux内存分析

    Linux命令----分析内存的瓶颈    为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cac ...

  5. Spring boot 启动过程解析 logback

    使用 Spring Boot 默认的日志框架 Logback. 所有这些 POM 依赖的好处在于为开发 Spring 应用提供了一个良好的基础.Spring Boot 所选择的第三方库是经过考虑的,是 ...

  6. 转:C++中引用传递与指针传递区别

    从概念上讲.指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 而引用是一个别名,它在逻辑上不是独立的,它的存在具有 ...

  7. 转:.Net程序员学习Linux最简单的方法

    有很多关于Linux的书籍,博客.大多数都会比较“粗暴“的将一大堆的命令塞给读者,从而使很多.NET程序员望而却步.未入其门就路过了. 所以我设想用一种更为平滑的学习方式, 就是在学习命令时,先用纯语 ...

  8. [移动网关]2G环境下资源下载有一定概率失败,客户端日志显示收到403错误

    2G环境下资源下载有一定概率失败,客户端日志显示收到403错误 问题现象: 测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常. ...

  9. Android 一个绚丽的loading动效分析与实现!

    http://blog.csdn.net/tianjian4592/article/details/44538605 前两天我们这边的头儿给我说,有个 gif 动效很不错,可以考虑用来做项目里的loa ...

  10. 【Hibernate】Illegal attempt to associate a collection with two open sessions

    今天在用Hibernate对对象进行修改操作的时候报了这个错. 之前一直没什么错误,但是今天修改了一下表结构,增加了一个OneToMany的映射. 所以在我获取对象,重新set一个变量之后就报了这个错 ...