JavaScript 整理筆記(二)
阿新 • • 發佈:2019-01-06
1.1 語法
1.1.5 語句
在WEB瀏覽器中每個<script>標籤中包含一個被編譯且立即執行的編譯單元。 一個編譯單元包含一組可執行的語句。 var 用來定義變數,變數定義當在某個語句內,則稱其為語句的私有變數。當定義在window下時,則稱改變數為全域性變數。 迴圈語句(while、for、do...while)允許有一個可選的前置標籤(label),配合break使用。類似於錨點的作用。 例1: var num = 0; outer: for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if (i == 5 && j == 5) { // TODO break oute; } num++; } } console.log(num); // 55 例2: var num2 = 0; outer2: for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if (i == 5 && j == 5) { // TODO continue outer2; } num2++; } } console.log(num2); // 95 語句通常情況下會按照順序從上至下執行。條件語句(if、switch)、迴圈語句(while、for、do...while)、強制跳出語 句(break、return、throw)和函式呼叫來改變執行順序。 條件語句中的值一下情況被當做假: false null undefined "" 0 NaN 其他的全為真值。 switch 語句執行一個多路分支。通常多路分支個數是已知的。表示式的值和所有指定的case條件(不一定是常量)進行匹配 (匹配是用 "===") 例: switch(null){ case 0: console.log(0); break; default: console.log(1); } // 列印 1 switch(NaN){ case NaN: console.log(0); break; default: console.log(1); } // 列印 1 注意:每個case從句後必須跟隨一個強制跳轉語句。可用break退出switch語句。 for語句 一種是形式是由3個可選從句控制: for(var i = 0; i < 10; i++){ // TODO } 另一種是: for(item in obj){ if(obj.hasOwnProperty(item)){ // 判斷該屬性名是否是物件的成員,還是來自於原型鏈 // TODO } } 該方法會列舉一個物件的所有屬性名(或鍵名)。 while 和 do...while 唯一的區別就是do...while會先執行一次再進行判斷,至少會執行一次。 try...catch...finally 用於捕捉程式碼塊的異常 例: try{ if(a){ throw "我捕捉到一個錯誤"; // err 的值,可以是物件{name: message}形式 } } catch(err){ console.log(err); } finally{ console.log("不論有沒有異常,我都會執行"); } // 我捕捉到一個錯誤 // 不論有沒有異常,我都會執行 通常用於不確定程式碼塊會不會報異常,從而避免導致整個程式碼報錯不能繼續執行。 return 語句會導致從函式中提前返回。可以設定返回值,不設定則返回 undefined。return 與表示式之間不允許換行。 --------內容繫個人整理,如有錯誤,歡迎指出。謝謝!--------