ECMA-262规定了一组语句(也成为流控制语句),语句定义了ECMASript中的主要语法。

语句分类:条件分支语句、条件判断语句和循环语句

代码块:是一对包裹多行代码的花括号,代码块后不可加引号;代码块内的内容对外可见的,仅有分组的作用。

if语句:

语法1:if(condition)statement

语法2: if(condition){statement1} else {staement2}

语法3:if(condition){statement1} else  if{staement2} else if{staement}

    var i = 11;
if(i < 10){
alert("兔子");
}else if (i <20){
alert("狐狸");
} else if (i <30){
alert("老虎");
}
//窗口弹出狐狸

  以上代码,自上而下当条件表达式没有被满足时,继续往下执行,满足时则输出,停止执行。

其判断过程:判断条件表达式值是true或是false,但表达式的求值结果可能不是布尔值,则使用Boolean()进行求值。

do-while语句

语法:do{ statement}while(expression);

 var i = 11;
do {
i += 2:
}while ( i <10 );
alert(i);

 以上代码,因do-while语句是一种后测试循环语句(先执行后测试),执行完后进行条件表达式测试,不符合条件则不输出,所以其循环体中的代码至少被执行一次。

while语句

语句:while(expression){satement}

    var i = 0;
while(i<10){
i += 2;
}
alert(i);//输出10

 以上代码,while语句是一种前测试循环语句(先测试后执行),先测试后进行执行。这一点和do-while语句相区别。对条件表达式进行判断,true则继续执行,false则停止执行输出语句;条件表达式一直是true则陷入死循环 需要用break结束语句(break 在下文提及)

for语句

for(initialization ; expression ; poat-loop-express) {satement}      第三个参数是循环后表达式

  for (var i =1 ; i<10 ;i++) {
alert(i);
} //输出1  

以上代码,在for语句中条件表达式值为true才会进入循环体,如果是false则不会进入循环体。只有进入了循环体才会对其循环后的条件表达式(i++)求值

注意:for循环和while循环相似,for循环只是与循环有关的代码集中到一个位置

初始值 var i = 0 ;可以在for循环外进行声明,因此该变量成为了全局变量,在外部也可访问到

在for循环中将三个条件表达式全部省略就成了一个死循环   ( var i = 0 ;i <10 ;i++)  变成 ( ; ; )

break和continue语句

两者都是在循环中控制代码的执行,两者的区别在于:break会立即推出循环,强制向下执行循环外的语句;continue也会立刻退出循环,但是退出循环后会从循环的顶部继续执行

var num = 1;
for (var i = 1; i<6 ;i++) {
if (i % 3 === 0) {
continue;
}
num++;
}
alert(num); //输出5

  结果输出为5 说明代码num++执行了5次

当i=3和i=6时 num不递增  当i=3时,继续从循环体上面执行。

var num = 1;
for (var i = 1; i<6 ;i++) {
if (i % 3 === 0) {
break;
}
num++;
}
alert(num); //输出3

  当i=3时退出循环,但是num继续递增

switch语句

switch(expression){

case:statement

break;

case:statement

break;

case:satement

break;

default:satement

}


var i = 2;
switch (i) {
case 1:
alert("1");
break;
case 2:
alert("2");
break;
default:
alert("other");
}
 

以上代码 case的含义:如果表达式等于这个值,则执行这个语句

注意swich语句在比较值时使用的是全等操作符,因此不会发生类型转化。

还有for-in,with,label语句。

语句:if语句、do-while语句、while语句、for语句、for-in语句、with语句、label语句、switch语句以及break和continue语句;的更多相关文章

  1. JavaScript If...Else、Switch、For、While、Break、Continue语句

    一,JavaScript If...Else 语句 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript 中,我们可使用 ...

  2. Javascript基础系列之(六)循环语句(break和continue语句)

    break和continue语句对循环中的代码执行提供了更为严格的流程控制.break语句可以立刻退出循环,阻止再次执行循环体中的任何代码.continue语句只是退出当前这一循环,根据控制表达式还允 ...

  3. Java SE ---控制流程:break与continue语句

    在java中,可以使用break和continue语句控制循环.     1. break语句:用于终止循环,就是跳出当前循环,执行循环后面的代码. .     2. continue语句:用于跳出当 ...

  4. Java跳出循环-break和continue语句

    在实际编程中,有时需要在条件语句匹配的时候跳出循环.在Java里,由break和continue语句控制. “break”语句 “break”语句用来结束循环,即不再执行后边的所有循环. 示例:计算1 ...

  5. Matlb中break 和continue 语句

    有两个附加语句可以控制while 和for 循环:break 和continue 语句. break 语句可以中止循环的执行和跳到end 后面的第一句执行,而continue 只中止本次循环,然后返回 ...

  6. JavaScript Break 和 Continue 语句

    1.break:终止本层循坏,继续执行本次循坏后面的语句: 当循坏有多层时,break只会跳过一层循坏 2.continue:跳过本次循坏,继续执行下次循坏 对于for循环,continue执行后,继 ...

  7. 3.2.2 break 与 continue 语句

    break 语句和 continue语句在while循环和for循环中都可以使用,并且一般常与选择结构结合使用.一旦break语句被执行,将使得break语句所属层次的循环提前结束.continue语 ...

  8. 【代码笔记】Web-Javascript-javascript break和continue语句

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  9. break与continue语句

    1.break:立即退出循环 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  10. for循环里面的break;和continue;语句

    for循环里面的break;和continue;语句 break语句 哇,我已经找到我要的答案了,我不需要进行更多的循环了! 比如,寻找第一个能被5整除的数: for循环中,如果遇见了break语句, ...

随机推荐

  1. redux异步

    在一个项目中 redux 是必不可少的,redux 中没有提供异步的操作,但是异步又是项目开发中重要的一部分,所以我们的 redux 对此有进行了拓展: 所以我们需要 redux-thunk 的插件, ...

  2. 在win10系统安装两个不同版本的mySQL数据库

    我们项目用的mySQL数据库,为了回家看代码方便,于是在本地安装mySQL数据库,一开始安装了比服务器mySQL5.7.24更高版本的mySQL8.0.11,结果项目启动报错,估计是版本太高项目中引入 ...

  3. 反射 go

    reflect.Valueof 到底是个什么? 反射值对象(reflect.Value)提供一系列方法进行零值和空判定,如下表所示. 反射值对象的零值和有效性判断方法 方 法 说 明 IsNil() ...

  4. Shutdown 源码阅读

    Shutdown /** * 虚拟机关闭步骤 * @since 1.3 */ class Shutdown { /* 关闭状态 */ private static final int RUNNING ...

  5. Numpy中matrix()和array()的区别

    matrix() 和 array() 的区别,主要从以下方面说起: 1. 矩阵生成方式不同 import numpy as np a1 = np.array([[1, 2], [3, 4]]) b1 ...

  6. 深入理解红黑树及C++实现

    介绍 红黑树是一种特殊的平衡二叉树(AVL),可以保证在最坏的情况下,基本动态集合操作的时间复杂度为O(logn).因此,被广泛应用于企业级的开发中. 红黑树的性质 在一棵红黑树中,其每个结点上增加了 ...

  7. Golang的一个CLI框架

    因为机缘巧合,因为希望能在VPS中使用百度网盘,了解到了一个开源的项目BaiduPCS-Go,可以用来直接存取访问百度网盘,做的相当不错 而且看ISSUES,作者可能还是个学生,很强的样子.稍微看了下 ...

  8. 网络实验 04-利用三层交换机实现VLAN间路由

    利用三层交换机实现VLAN间路由 一.实验目标 掌握交换机Tag VLAN 的配置 掌握三层交换机基本配置方法 掌握三层交换机VLAN路由的配置方法 通过三层交换机实现VLAN间相互通信 二.实验背景 ...

  9. Android开发 发布相关知识

    1 三种BuildSystem简介 注意:ADT不要用了,在2017版本已经没有了.而且这就是一个巨坑,以前打包cocos的时候,学习的时候用这个,ADT是eclipse中的一个集成的东东,已经绝版, ...

  10. CentOS7 中arp欺骗,如何让你玩游戏的室友早点睡觉?

    环境:CentOS7 Linux安装arpspoof进行arp攻击实验 arpspoof是dsniff的一个组件,主要用于进行arp欺骗使用,所以说我们需要安装dsniff,虽然有很多看起来很容易,但 ...