Javascript權威指南--每日一讀(語句)

1.switch語句函數

  • 語句都很熟悉的啦,只是提一句。switch中的case語句匹配的規則其實是「===」而非簡單的「==」比較,case匹配不會作任何的類型轉換的。優化

2.while和do/while.net

  • 都是循環語句,不一樣的是檢測表達式的位置。while是在循環的頂部,do/while是在循環體的底部檢測。簡單地說不管是否知足循環條件do/while都會至少執行循環體一次,而while則不是這樣。debug

3.標籤語句code

tag:if(matrix){
    for(var i = 0 ; i < matrix.lenght ; i++){
        var row = matrix[x];
        if(!row){
            break tag;
        }
    }
    //位置a
}
//位置b
//若是僅僅是break他會跳出到位置a,而上例中則跳轉到了位置b。

4.throw語句htm

  • 異常語句,所謂異常語句是發生異常或錯誤的一個標誌或信號。拋出異常就是指這個情況,捕獲異常實是指處理的過程。例如ip

test(-1);
function test(x){
    if(x < 0){
        throw new Error("不能爲負");
    }
    console.log(x);
}
//當拋出了異常,Javascript解析器會當即中止執行,並跳轉到異常處理程序,若是找不到則會被當作程序錯誤並輸出錯誤報告。

5.try/catch/finally語句作用域

  • 異常處理機制。字符串

  • try:定義須要處理的代碼塊;get

  • catch:在try以後用來在出現異常時進行處理;

  • finally:不管怎樣都執行的語句,通常用於清理工做。

  • 不過好像coding的時候好像不多用到,那咱們何時纔會用?研究了一下:實際上是爲了程序「體面的退出」。

//例如:
try{
    window.a.b;
}catch(e){
    alert(e);
    alert("continue");
}
//若是用if粗糙地判斷你須要先判斷window.a是否合法在判斷window.b不然直接判斷就有可能出現問題。
//可是用try/catch就能夠「體面」的返回報錯,並使程序繼續運行。

6.with語句

  • *嚴格模式中禁止使用with語句。非嚴格模式也不推薦使用,由於使用with的代碼難於優化切效率比較低。

//with使用:
with(objecy){
    //body
}
//with能夠暫時的將object推送到做用域鏈的頂端, 在body以後在恢復做用域鏈。
//好比:
with(obj) x=1;
//其實就是把obj推向了做用域鏈的頂端並使obj.x = 1;
//其實效果和在全局定義obj並obj.x = 1的效果是同樣的;
//而且若是obj沒有x屬性的話,上例至關於x = 1;

7.debugger語句

  • 暫停程序執行,相似設置斷點功能。

8.嚴格模式(use strict)

  • 它是ECMAScript5引入的指令(而非語句);

  • 僅僅是一個字符串直接量表達式,對於沒實現ES5的解析器來講,它僅僅是一條沒有反作用的語句,至關於透明的存在。

  • 只能出如今腳本/函數體的開始;

相關文章
相關標籤/搜索