哪有时间学JavaScript③语句

一 语句

1.1 语句

语句是一个程序的基本单位,JavaScript的程序就是由一条一条语句构成的,每一条语句使用;结尾。

JavaScript中的语句默认是由上至下顺序执行的,但是我们也可以通过一些流程控制语句来控制语句的执行顺序。

1.2 代码块

代码块是在大括号 {} 中所写的语句,以此将多条语句的集合视为一条语句来使用。

例如:

{
    var a = 123;
    a++;
    alert(a);
}

我们一般使用代码块将需要一起执行的语句进行分组,JS的代码块只有分组的功能,不能隔离,即没有局部变量。

二 选择结构(分支结构)

2.1 条件判断语句——if语句

语句主要包括两类,if语句和 if…else语句。

if(表达式)
{
	语句块
}

如果表达式为真,则执行语句块,否则不执行。

if(表达式)
{
	语句块1
}
else(表达式)
(
	语句块2
)

如果表达式为真,则执行语句块1,否则执行语句块2。

else 总是与它前面最近的且没有配对的if相匹配。为避免出现误解,建议每个语句块都使用大括号,哪怕只有1条语句。

2.2 条件分支语句——switch 语句

  1. 对于有多种情况需要分别判断处理的情形,除了上节所说的if嵌套语句外,JavaScript语言还提供了另一种多分支选择语句:switch语句
  2. 语法格式为:
    switch() 后面是不用;
    case 不需要tab,每一个分支写完需要加:
    break 结束语句需要加;
switch(表达式)
{
case 常量表达式1:语句系列1
case 常量表达式:语句系列2
	breakcase 常量表达式3:
case 常量表达式4:
	语句系列3			/*语句包括;*/
	break;
......
case 常量表达式n:语句系列n
default:        语句系列n+1
}
  1. 有关switch语句的说明:

switch 后面的表达式可以为整型、字符型或者枚举型,但不允许是实型
case 后面必须为常量,且类型应与 switch 中表达式的类型相同;
switch 语句的执行过程是:首先计算switch 后面表达式的值,然后与各case分支的常量进行全等匹配,与哪个常量相等,就从该分支的语句序列开始执行,直至遇到 break 或者 switch 语句块的右大括号;
default 分支主要用于处理 switch表达式与所有case 常量都不匹配的情况。它在语法上可以省略,但推荐使用。

三 循环结构

循环结构是指程序中的某些语句和代码,在“预设条件”的控制下可以执行多次。C语言中的循环控制语句包括whiledo…whilefor

3.1 while 语句

  1. while 语句又称当型循环语句,其语法为:
while(表达式)
{
	语句块
}

其中,表达式可以是任何合法的C语言表达式,它的计算结果用于判断语句块是否该被执行。语句块是需要重复执行语句的集合,它也被称为循环体
while语句流程图
①计算表达式的值。若为真,则转步骤②;否则退出循环,执行while的下一条语句。
②执行语句块(即循环体),并返回步骤①。

3.2 do…while 语句

  1. do…while语句又称直到型循环语句
  2. 其语法为:
do
{
	语句块
} while(表达式);

其中,表达式、语句块的含义与while 语句相同。
do…while 语句流程图

3.3 for 语句

  1. for语句是最常用、功能也最强大的循环控制语句。
  2. 其语法为:
for (表达式1;表达式2;表达式3)
{
	语句块
}
  1. 其具体执行过程如下:
    ①计算表达式1的值。
    ②计算表达式2的值。若为真,则转步骤③;否则退出循环,执行for的下一条语句。
    ③执行语句块,即循环体。
    ④计算表达式3的值,然后转步骤②。
    在for语句中,表达式1、表达式2、表达式3均可以省略。当表达式2省略时,默认其计算结果为真。
    for语句流程图

3.4 break与continue label

breakcontinue 是两个较为特殊的流程控制关键词,主要用于循环的中断控制。这两者的区别是:break 是结束本层循环体的运行,退出本层循环;continue 只是提前结束本次循环体的运行,忽略循环体内其后面的语句,然后重新判断循环条件,并未退出循环体。

if语句中不能使用continue

那如果我们想要跳出多层循环或者跳到指定位置该怎么办呢?可以为循环语句创建一个label,来标识当前的循环,类似于C中的goto,如下例子:

outer: for (var i = 0; i < 10; i++) {
    for (var j = 0; j < 10; j++) {
        if (j == 5) {
            break outer;
        }
        console.log(j);
    }
}

四 测试程序性能

在程序执行前,用console time()开始计时器,它需要一个字符串标识
格式:

console time(字符串)
//在这里插入测试代码片
console timeEnd(字符串)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值