2014年辛星Javascript解讀第五節 break continue 與異常處理,2014年辛星
先說一下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的異常機制,如果有其他語言編程基礎,則非常簡單。