首页 > 代码库 > 2014年辛星Javascript解读第五节 break continue 与异常处理

2014年辛星Javascript解读第五节 break continue 与异常处理

 先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代。简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句,但是它会重新来过,即本次不会再次执行。

 

************具体说明*************

1.我们通过举例的形式来说明,首先看代码一:

复制代码
var sum = 0;
for(i = 0;i<10;i++){
    if(i==5){
        break;
    }
    sum += i;
}
alert(sum);
复制代码

2.它的输出结果是10,原因很简单,它会从0加到4,并且在i的值为5的时候,程序从这个for循环中退出,然后alert这个数据出来。

3.然后我们看如下代码:

复制代码
var sum = 0;
for(i = 0;i<10;i++){
    if(i==5){
        //注意这里换成了continue
        continue;
    }
    sum += i;
}
alert(sum);
复制代码

4.此时它的输出结果就是40,为什么不是45呢,因为在i的值为5的时候,它被conitnue语句调用,然后自动取执行下一次循环去了。

5.另外,break语句还可以用在switch中,而continue就无法用在switch语句中了。

 

*************错误处理**************

1.说到错误处理,其实它和Java中是一样的,使用try...catch来处理错误,使用throw来主动抛出一个异常。

2.首先我们看一下try...catch的伪代码:

try{
    //试运行代码
}catch(err){
    //对错误的处理
}

3.然后我们来实战一下,我们运行如下代码:

try{
    xinxing(3);
}catch(err){
    alert(err);
}

4.上面的代码会弹出一个对话框,里面内容如下:

ReferenceError:xinxing is not defined

5.它说明什么,它说明我们检索到了该异常,它是一个引用异常,而且是xinxing是一个未定义的函数。

6.我们也可以主动去触发异常,我们使用throw来触发异常,代码示例:

try{
    throw "辛星";
}catch(err){
    alert(err);
}

7.这里我们在try块里直接抛出一个异常,那么我们下面把它打印出来的时候,它就会显示一个信息“辛星”。

 

**************小结*************

1.我们首先区分了continue和break的区别。

2.然后简单介绍了一下Javascript的异常机制,如果有其他语言编程基础,则非常简单。

2014年辛星Javascript解读第五节 break continue 与异常处理