首页 > 代码库 > javascript学习笔记---ECMAScript 语句

javascript学习笔记---ECMAScript 语句

ECMAScript 语句: 进一步说是流程控制语句。

主要流程有:顺序,选择,循环。

顺序语句不用多说。(大括号中的语句基本都是顺序的)

选择语句:

if (i > 30)
  {alert("大于 30");}
else
  {alert("小于等于 30");}

if (i > 30) {
  alert("大于 30");
} else if (i < 0) {
  alert("小于 0");
} else {
  alert("在 0 到 30 之间");
}
进一步有了switch语句:
switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

循环语句:

do-while 语句

do-while 语句是后测试循环,即退出条件在执行循环内部的代码之后计算。这意味着在计算表达式之前,至少会执行循环主体一次。

它的语法如下:

do {statement} while (expression);

例子:

var i = 0;
do {i += 2;} while (i < 10);

while 语句

while 语句是前测试循环。这意味着退出条件是在执行循环内部的代码之前计算的。因此,循环主体可能根本不被执行。

它的语法如下:

while (expression) statement

例子:

var i = 0;
while (i < 10) {
  i += 2;
}

for 语句

for 语句是前测试循环,而且在进入循环之前,能够初始化变量,并定义循环后要执行的代码。

它的语法如下:

for (initialization; expression; post-loop-expression) statement

注意:post-loop-expression 之后不能写分号,否则无法运行。

例子:

iCount = 6;
for (var i = 0; i < iCount; i++) {
  alert(i);
}

这段代码定义了初始值为 0 的变量 i。只有当条件表达式(i < iCount)的值为 true 时,才进入 for 循环,这样循环主体可能不被执行。如果执行了循环主体,那么将执行循环后表达式,并迭代变量 i。

for-in 语句

for 语句是严格的迭代语句,用于枚举对象的属性。

它的语法如下:

for (property in expression) statement

例子:

for (sProp in window) {
  alert(sProp);
}

这里,for-in 语句用于显示 window 对象的所有属性。

前面讨论过的 PropertyIsEnumerable() 是 ECMAScript 中专门用于说明属性是否可以用 for-in 语句访问的方法。

循环语句搭配的语句break 和 continue 。

 

 标签语句(不建议使用,程序结构会比较混乱)

可以用下列语句给语句加标签,以便以后调用:

label : statement

例如:

start : i = 5;

with 语句用于设置代码在特定对象中的作用域。(与vb中with挺像)

它的语法:

with (expression) statement

例如:

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase());	//输出 "HELLO"
}

在这个例子中,with 语句用于字符串,所以在调用 toUpperCase() 方法时,解释程序将检查该方法是否是本地函数。如果不是,它将检查伪对象 sMessage,看它是否为该对象的方法。然后,alert 输出 "HELLO",因为解释程序找到了字符串 "hello" 的 toUpperCase() 方法。

提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。