6.1 语句概述
语句(Statement)表示一个完整、可执行的命令,用来完成特定的任务,使某件事情发生。语句之间通过分号分隔,程序都是由一个或多个语句组成的集合。当一个语句单独一行显示时,可以省略分号,JavaScript会自动补加分号。
以结构划分,语句可以分为单句和复句,简单说明如下。
单句一般由一个或多个关键字和表达式构成,用来完成运算、赋值等简单任务。
复句一般由大括号构成,用来设计流程结构,控制程序的执行顺序。
程序中的代码结构可以分为3种类型:顺序结构、分支结构和循环结构。在正常情况下,所有代码将按顺序从上到下执行,这种结构是顺序结构。通过if、switch、for、while等流程语句可以改变代码的执行顺序,实现分支或循环执行顺序。
以关键字类型划分,JavaScript中的语句可以分为很多类型,详细说明如表6-1所示。
表6-1 JavaScript语句类型
提示:在表6-1中,被中括号括起来的选项表示可选部分,被尖括号括起来的选项表示必选部分,竖线表示列表项任选,其中包含的语法名词说明如下。
variable:表示变量名。
value:表示值。
expression:表示表达式。
statement:表示单句。
statements:表示复合语句。
statementList:表示语句列表。
label:表示标签名。
object:表示对象。
initialization:表示初始值。
test:表示测试表达式。
increment:表示递增量。
【示例1】大部分语句通过关键字定义。在下面循环结构中,for是关键字,其后跟随的是由小括号包含的条件复句,小括号中的子句支持循环能正常执行,大括号包含的代码是循环体(循环复句)。for关键字将根据条件复句中第二个子句所设置的条件,命令循环复句不断执行,直到条件子句返回false为止。
for (var i= 1 ; i < 5 ; i++) { alert(i) }
【示例2】下面这段代码通过多层嵌套的结构定义复杂的语句。
//创建XMLHttpRequest对象实例,实现Ajax异步通信的工具 if(window.XMLHttpRequest){ request = new XMLHttpRequest(); } else if (window.ActiveXObject){ try{ request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ try{ request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("初始化XMLHttpRequest对象失败, 请检查浏览器是否支持XMLHttpRequest组件。"); } } };