js学习break、continue、return、witch等语句

1、break语句
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。
javascript允许关键字break后跟一个标签名:break labelName;
注意,labelName知识一个标识符,此时并不像定义一个加标签的语句那样,在其后还要跟一个冒号。
当break和标签一起使用时,他将跳到这个带有标签的语句的尾部,或者终止这个语句。该语句可以是任何用括号括起来的语句,它不一定是循环语句或者switch语句,也就是说和标签一起使用的break语句甚至不必包含在一个循环语句或者switch语句之中。对break语句中的标签的唯一的限制就是它命名的是一个封闭语句。


2、continue语句
[size=small]continue额语句和break语句相似,所不同的是,它不是推出一个循环,而是开始循环的一次新迭代。
continue语句还可以和标签一起使用:continue labelName;
continue语句(无论是带标签还是不带标签)只能用在while、do/while、for、for/in语句的循环体之中。
执行continue语句时,封闭循环的当前迭代就会被终止,开始执行下一次迭代。这对笔筒类型的循环语句含义是不同的:
1)在while循环中,会再次检测循环开头的expression,如果他的值为true,将从头开始执行循环体。注:
while(expression){statement};

2)在do/while循环中,会跳到循环的地步,在顶部开始下次循环之前,会在次先检测循环条件。注:
do{statement}while(expression);

3)在for循环中,先计算increment表达式,然后再检测test表达式以确定是否应该执行下一次迭代。注:
for(initialize;test;increment){statement}

4)在for/in循环中,将以下一个赋给循环变量的属性名再次开始新的迭代。注:
for(variable in object){statement}
[/size]

3、return语句
return语句就用于指定函数返回的值,这个值是函数调用表达式的值。
语法:return expression;
return语句只能出现在函数体内。在执行return语句时,先计算expre,然后返回它的值作为函数的值。当执行return语句时,即使函数主体还有其他语句,函数的执行也会停止。return语句还可以不带expression来终止程序的执行,并不返回值。如果一个函数执行了不带expression的return语句,或者因为它执行到了函数主体的尾部而返回,那么这个函数调用的表达式的值就是undefined。


4、try/catch/finally语句

try/catch/finally语句是javascript的异常处理机制。
通常情况下,控制流到达try块的尾部,然后开始执行finally块,一边进行必要的清楚操作。如果return语句、continue语句或break语句使控制流离开了try块,那么在控制流转移到新目的地之前,finally块就会被执行。
如果异常发生在try块中,而且存在一个相关的catch块处理异常,控制流首先将逐一到catch块,然后在转移到finally块。如果没有异常处理的局部catch块,控制流首先将转移到finally块,然后向上传播到最近的能够处理异常的catch从句。
如果finally块自身用return语句、continue语句、break语句或throw语句转移了控制流,或者调用了抛出异常的方法改变了控制流,那么等待的控制流转移江北舍弃,并进行新的转移。例如,如果finally从句跑出了一个异常,那么该异常将代替处于抛出过程中的异常。若果finally从句运行到了return语句,那么即使已经跑出了一个异常,而且该异常还没有被处理,该方法也会正常返回。


5、witch语句

[size=small]witch语句用于暂时修改作用域链。 语法:with(object){statement}  这一语句能够优先的将object添加到作用域链的头部,然后执行statement,再把作用域链恢复到原始状态。
如:
witch(frame[1].document.forms[0]){
    name.value="";
address.value="";
email.value="";
}

虽然有时使用witch语句比较方便,但是人们反对使用它。使用了with的javascript代码很难优化,因此它的运行速度比不使用with语句的等价代码要慢的多。
注意,还有其他几位合理的方法可以用来节省输入。如:
var form = frame[1].docuement.forms[0];
form.name.value="";
form.address.value="";
form.emai.value="";
[/size]

6、空语句(  ;)

当创建一个具有空主体的循环时,空语句是有用的。如:
for(var i=0;;i<10;i++) /*empty*/  ;

你可能感兴趣的:(js学习break、continue、return、witch等语句)