(56)Wangdao.com第八天_JavaScript 流程控制语句
流程控制语句
- 条件判断语句 if
- 条件分支语句 switch
- 循环语句 for 、while
switch 和 if 都可以相互转换,switch 的性能更优于 if
1. 条件判断语句 if
在某条语句之前,使用条件判断语句。
如果条件成立才会执行 if 代码块 里的语句,不成立,则跳过 if 代码块 里的语句,而执行下面的语句。
if 语句,只会有一个代码块被执行。。。有一个代码块被执行了,if 语句就结束了。
- 语法一
if(条件表达式1 && 条件表达式2)
{
语句1;
语句2;
}
- 语法二
if(条件表达式1 && 条件表达式2)
{
语句1;
语句2;
}
else
{
语句3;
语句4;
}
- 语法三
if (条件表达式1 && 条件表达式2)
{
语句1;
语句2;
}
else if (条件表达式3 && 条件表达式4)
{
语句3;
语句4;
}
else
{
语句5;
语句6;
}
2. 条件分支语句
switch(条件表达式)
{
case 表达式1:
语句1;
语句2;
break;
case 表达式2:
语句3;
break;
case 表达式3:
语句4;
语句5;
语句6;
break;
default:
语句7;
break;
}执行时,根据 条件表达式 的值与 case 的值依次进行全等比较,全等的则执行之后的除了 case 的所有语句。
如果遇到 break; 则马上跳出 switch 语句块。
如果所有的 case 都是 false,则执行 default 后面的语句。
switch
语句后面的表达式,与case
语句后面的表示式比较运行结果时,采用的是严格相等运算符(===
),而不是相等运算符(==
),这意味着比较时不会发生类型转换。var x = 1; switch (x) {
case true:
console.log('x 发生类型转换');
break;
default:
console.log('x 没有发生类型转换');
}
// x 没有发生类型转换
3. 循环语句
- while
while(条件表达式)
{
语句1;
语句2;
}- 先判断条件表达式,再执行一次代码块。每执行完一次代码块,就判断一次条件表达式。
只要条件表达式成立,就会一直执行代码块。
- do while
do
{
语句1;
语句2;
}
while(条件表达式);- 先执行一次代码块,再进行条件表达式判断,如果成立,则再循环一次。
- 只要条件表达式成立,就会一直执行代码块。
- 这种循环至少会执行一次。
- for
for(初始化表达式; 条件表达式; 递增表达式)
{
语句1;
语句2;
}
- 初始化表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。
- 条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
- 递增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量。
break; 和 continue;
- 这两条语句用于在循环中精确控制代码的执行。
- break; 用于立刻跳出最近的循环,强制从外面的代码开始执行。。。用在 循环 和 switch 。
- continue; 用于立刻结束当次循环,去进行条件语句的判断,然后继续正常运行。。。只能用在循环中。
代码块
- 程序,是由一条一条语句组成的。
- 语句从上往下按顺序一条一条执行。
- 在 js 中使用 {} 对语句进行分组,他们要么都执行,要么都不执行。。。
- {语句1;语句2;} 这样的我们称其为 " 区块 " 或者 "代码块"。
- 在代码块后面就不许要分号了。
- 只具有语句分组的作用,单独使用无影响。
标签 label
- javascript 允许语句前面有标签,相当于定位符, 用于跳转到程序的标签位置
- break 标签
- 跳出 标签的代码块
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);- 还可以跳出多层循环
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
} // i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
- 跳出 标签的代码块
- continue 标签
- 满足条件时,会跳过当前循环,直接进入下一轮外层循环。
- 如果
continue
语句后面不使用标签,则只能进入下一轮的内层循环。top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) continue top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2
(56)Wangdao.com第八天_JavaScript 流程控制语句的更多相关文章
- (55)Wangdao.com第八天_JavaScript 字符串中使用 \u 输出Unicode字符
JavaScript中,使用Unicode 需要 \u 进行转义,格式 "\u十六进制" console.log(\u0031); console.log(\u0041); // ...
- Python流程控制语句
人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在原地打转,找不到方向.对于相信有 ...
- 【转】Python流程控制语句
[转]Python流程控制语句 人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在 ...
- 流程控制语句if基本概述
目录 1. 流程控制语句if基本概述 2. 流程控制语句if文件比较 判断文件是否存在,返回方式 使用变量的方法进行判断 请输入你要备份的数据库名称: wordpress 请输入你要备份的数据库密码: ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- 8-04流程控制语句BEGIN ..END
流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...
- JAVA 1.6 流程控制语句
1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...
- 20151013 C# 第一篇 流程控制语句
20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){ 语句块:} if(布尔表达式){ 语句块1:}else{ 语句块2:} i ...
- java基础3_流程控制语句
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
随机推荐
- Node.js实战项目学习系列(5) node基础模块 path
前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...
- 《Java》第三周学习总结 20175301
Java第三周学习总结 首先视频学习了第四章的内容,第四章整体内容较多较复杂,但是整体脉络清晰理解起来很容易,学习 类,方法,对象,组合与复用,实例成员与类成员,包,访问权限,类封装,对象数组等内容 ...
- SpringBoot系列: Maven多项目管理
这篇是 maven 项目管理的第二篇, 讲解使用 maven 进行多个项目管理, 之前有一篇是 maven 的基础知识. SpringBoot系列: Eclipse+Maven环境准备 一个完整的解决 ...
- 2.7 if应用:猜拳游戏
应用:猜拳游戏 <1>运行效果: <2>参考代码: import random player = input('请输入:剪刀(0) 石头(1) 布(2):') player = ...
- JAVA写JSON的三种方法,java对象转json数据
JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...
- 第二章 Android系统与嵌入式开发
第二章 Android系统与嵌入式开发 第二章首先要先了解Android和嵌入式Lnux系统有什么区别和联系,嵌入式Linux系统是在嵌入式设备中运行Linux系统:Android系统是在嵌入式设备中 ...
- VJTools
https://mp.weixin.qq.com/s/cwU2rLOuwock048rKBz3ew
- mysql 分库分表 ~ ShardingSphere生态圈
一 简介 Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈二 成员包含 Sharding-JDBC是一款轻量级的Java框架,在JDBC层提供上述核心功能 ...
- LESS知识总结
知识体系 1.认识less 2.使用less 3.变量( variables ) 4.混合 ( mixins ) 5.嵌套规则 ( nested-rules ) 6.运算(operation ...
- Lua中的闭包
[什么是闭包?] 闭包在Lua中是一个非常重要的概念,闭包是由函数和与其相关的引用环境组合而成的实体.我们再来看一段代码: function newCounter() return function ...