预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章流程控制语句 JavaScript程序是由若干个语句组成的,每一个语句以分号作为结束符。语句可以很简单,也可以很复杂。其中,改变程序正常流程的语句称为控制语句。流程控制语句是用来控制程序中各语句执行顺序的语句,是程序中基本却又非常关键的部分。流程控制语句可以把单个语句组合成有意义的、能完成一定功能的小逻辑模块。本章内容包括: 顺序控制语句; 选择控制语句; 循环控制语句; 其他流程控制语句。 通过本章学习,读者应该对几种流程控制语句有很深的理解,并可以利用这几种流程控制语句编写简单的程序。 5.1顺序控制语句 JavaScript语言中,顺序控制语句是最简单的语句。其有如下特点:所有语句按照一定的顺序执行,每一条语句只执行一遍,不重复执行,也没有语句不执行。JavaScript语言中的顺序控制语句包括表达式语句,函数调用语句,空语句和复合语句等。 5.1.1表达式语句 表达式后面跟一个分号就构成了一个表达式语句。最常见的表达式语句为赋值语句。赋值语句是在一个赋值表达式后跟一个分号形成的,程序中很多计算都由赋值语句完成。 【示例5-1】演示几个表达式语句。其代码如下所示。 varm=4; //把4赋给变量m varn=”helloworld”; //把字符串helloworld赋值给n i=m+n; //把变量m和n的和赋值给变量i 实际上,任何表达式都可以加上分号而成为语句。 【示例5-2】变量i自增1。 i++; //变量i的值加1 注意:有些语句写法虽然是合法的,但是由于其没有保留计算结果,因而并没有实际意义。如以下代码: a-b; i++-1; 5.1.2函数调用语句 函数将在本书第7章详细介绍,本节先介绍一下函数调用语句。函数调用语句是由函数调用加上分号组成的。其一般形式如下: 函数名(实际参数列); 执行函数语句是调用函数体,并把实际参数赋予函数定义中的形式参数,然后执行被调用函数体中的语句。如果是调用无参数函数,则“实参表列”可以没有,但是括号不能省略。如果实参表列包含多个实参,那么各个参数间需要用逗号隔开。实参与形参的个数应该相等,实参与形参按顺序对应,一一传递数据。 【示例5-3】演示函数调用语句。其代码如下所示。 functionsum(x,y) //定义函数sum(x,y) { returnx+y; //返回变量x与y的和 }; a=2; b=2; c=sum(a,b); //调用函数sum(x,y),将值返回给c 当然,函数是一段程序。这段程序可以存在于函数库中,也可能是由用户自己定义,当调用函数时会转到该段程序执行。但是函数调用是以语句的形式出现,它与前后语句之间的关系是顺序执行的。 5.1.3空语句 空语句是指只有一个分号的语句,即: ; 空语句不产生任何动作。在程序中,如果不需要进行任何操作,但是从语句的结构上来说,必须有一个语句时就可以写一个空语句。 5.1.4复合语句 在JavaScript语言中,可以用大括号{}把一些语句括起来,对外看作是一个语句,就构成一个复合语句。 【示例5-4】演示用大括号括起来的复合语句。其代码如下所示。 { i=2; j=3; m=i*j; } 复合语句可以出现在允许语句出现的任何地方,在选择结构和循环结构中都会看到复合语句的用途。一般情况下,函数也是由复合语句构成的。 5.2选择控制语句 除了简单的顺序控制语句外,JavaScript语言还定义了一些可以控制程序执行流程的语句,这些语句提供对控制流的选择和循环功能。在JavaScript语言中,语句默认都是顺序执行。但如果遇到选择或循环语句,顺序执行的规则就要发生改变。JavaScript语言中的选择控制语句有:if语句、if…else语句和switch语句。 5.2.1if语句和if…else语句 if语句用于在程序中有条件地执行某一语句序列。if语句有多种形式的应用,下面分别介绍。 1.双路条件选择 双路条件选择语句是根据给定的条件进行判断,以决定执行哪一个分支程序段。程序控制结构如图5-1所示。 if(条件表达式) { 语句序列1 } else { 语句序列2 } 代码说明: 首先判断条件表达式是否为真,如果为真就执行语句序列1; 如果条件表达式为假,就执行语句序列2。 图5-1双路条件选择结构 if和else都是JavaScript语言中的关键字,执行if语句时,程序先计算条件表达式的值,如果值为true,则执行语句序列1,如果值为false,则执行语句序列2。 注意:分支语句序列如果只有一个语句,就不用大括号括起来;如果超过一个语句,分支中的所有语句都需要用大括号括起来,以便与分支之外的语句相区分。 【示例5-5】演示双路条件语句序列。其代码如下所示。