javascript篇-----語句
ECMAScript-262規定了一組流控制語句,語句定義了ECMAScript中的主要語法,語句通常使用一或多個關鍵字來完成給定任務。
if語句
if語句的語法如下,
if (condition) statement1 else statement2
其中的condition(條件)可以是任意表達式,而且對這個表達式求值的結果不是一定是布爾值。ECMAScript會自動調用Boolean()轉換函數將這個表達式的結果轉換為一個boolean值。如果對condition求職的結果是true,則執行statement1(語句1),如果對condition求值的結果是false,則執行statement2(語句2)。
1 { 2 var i = 24; 3 if (i > 25) { 4 console.log(‘大於‘); 5 } else { 6 console.log(‘小於‘); 7 } 8 // 輸出‘小於’ 9 }
如果是連續的判斷,可以這樣寫,
if (condition1) statement1 else if (condition2) statement2 else statement3
do-while和while語句
do-while語句是一種後測試循環語句,即只有在循環體中的代碼執行之後,才會測試出口條件,在對條件表達式求值之前,循環體內的代碼至少會被執行一次;而while語句屬於前測試循環語句,在循環體內的代碼被執行之前,就會對出口條件求值,循環體內的代碼有可能永遠不會被執行。以下分別是兩者的語法,
1 { 2 // do-while語法 3 do { 4 statement 5 } while (expression) 6 // while語法 7 while(expression) statement 8 }
for語句
for語句也是一種前測試循環語句,但它具有在執行循環之前初始化變量和定義循環後要執行的代碼的能力。下面是for語句的語法,
for (initialization; expression; post-loop-expression) statement
1 { 2 var count = 10; 3 var i; 4 for(i = 0; i < count; i++) { 5 console.log(i); 6 } 7 }
for-in語句
for-in語句是一種精準的叠代語句,可以用來枚舉對象的屬性。語法如下,
for (property in experssion) statement
1 { 2 for (var propName in window) { 3 console.log(propName); 4 } 5 }
label語句
使用label語句可以在代碼中添加標簽,以便將來使用。語法如下,
label: statement
1 { 2 var count = 10; 3 var i; 4 first: for (i = 0; i < count; i++) { 5 console.log(i); 6 } 7 }
break和continue語句
break和continue語句用於在循環中精確地控制代碼的執行。其中,break語句會立即退出循環,強制繼續執行循環後面的語句。而continue語句雖然也是立即退出執行,但退出循環後會從循環的頂部繼續執行。
1 { 2 var num = 0; 3 for (var i = 1; i < 10; i++) { 4 if(i % 5 == 0) { 5 break; 6 } 7 num++; 8 } 9 console.log(num)// 4 10 } 11 { 12 var num1 = 0; 13 for (var j = 1; j < 10; j++) { 14 if (i % 5 == 0) { 15 continue; 16 } 17 num1++; 18 } 19 console.log(num1);// 8 20 }
break和continue語句都可以與label語句聯合使用,從而返回代碼中特定的位置。這種聯合使用的情況多發生在循環嵌套的情況下。
1 { 2 var num = 0; 3 outermost: 4 for (var i = 0; j < 10; i++) { 5 for (var j = 0; j < 10; j++) { 6 if (i == 5 && j == 5) { 7 break outermost; 8 } 9 num++; 10 } 11 } 12 console.log(num);// 55 13 }
with語句
with語句的作用是將代碼的作用域設置到一個特定的對象中,定義with語句的目的主要是為了簡化多次編寫同一對象的工作,語法如下,
with (expression) statement;
1 { 2 // var qs = location.search.substring(1); 3 // var hostName = location.hostname; 4 // var url = location.href; 5 // 上面代碼可以用with改良成 6 with (location) { 7 var qs = search.substring(1); 8 var hostName = hostname; 9 var url = href; 10 } 11 }
switch語句
switch語句是ECMAScript中普遍適用的一種流控制語句,語法如下,
1 { 2 switch (expression) { 3 case value: statement 4 break; 5 case value: statement 6 break; 7 case value: statement 8 break; 9 default: statement 10 } 11 }
switch語句中的每一種情形(case)的含義是:“如果表達式等於這個值(value),則執行後面的語句(statement)”。而break關鍵字會導致代碼執行流跳出switch語句。如果省略break關鍵字,就會導致執行完當前的case後,繼續執行下一個case。最後的default關鍵字則用於在表達式不匹配前面任何一種情況的時候,執行裏面的代碼。
ECMAScript的switch語句中可以使用任何數據類型,無論是字符串,還是對象的沒有問題。其次,每個case的值不一定是常量,甚至是表達式。
1 { 2 switch (i) { 3 case 25: 4 alert(‘25‘); 5 break; 6 case 35: 7 alert(‘35‘); 8 break; 9 case 45: 10 alert(‘45‘); 11 break; 12 default: 13 alert(‘other‘); 14 } 15 }
javascript篇-----語句