Statement |
Syntax |
Purpose |
break |
break; break label; |
退出最內層迴圈或者退出switch語句,又或者退出label指定語句 |
case |
case expression: |
在switch語句中標記一個語句 |
continue |
continue; continue label; |
重新開始最內層迴圈或者重新開始label指定的迴圈 |
default |
default: |
在switch中標記預設語句 |
do/while |
do statement while (expression); |
while迴圈的一種替代形式 |
empty |
; |
什麼都不做 |
for |
for (initialize ; test ; increment) statement |
一種易用的迴圈 |
for/in |
for (variable in object) statement |
遍曆一個對象的屬性 |
function |
function funcname([arg1[..., argn]]) { statements } |
聲明一個函數 |
if/else |
if (expression) statement1 [else statement2] |
有條件的執行代碼 |
label |
identifier: statement |
給statement指定一個名字identifier |
return |
return [expression]; |
由一個函數返回或者由函數返回expression的值 |
switch |
switch (expression) { statements } |
用case或者default:語句標記的多分支語句 |
throw |
throw expression; |
拋出一個異常 |
try |
try { statements } catch (identifier) { statements } finally { statements } |
捕獲一個異常 |
var |
var name_1 [ = value_1] [ ,..., name_n [ = value_n]]; |
聲明並初始化一個變數 |
while |
while (expression) statement |
一個基本的迴圈語句 |
with |
with (object) statement |
擴充當前範圍鏈(不贊成) |
switch語言:在JavaScript中switch語言匹配case運算式是用===等同運算子判定的,而不是==相等運算子。
for/in語句: for(variable in object) statement;
提供了一個遍曆對象屬性的方法。如下,for/in迴圈輸入一個對象的所有屬性名稱及它的值,
for(var prop in my_object){
document.write("name:"+prop+"; value: "+my_object[prop]");
}
其實,for/in迴圈並不會遍曆所有對象的所有可能的屬性。對象的有些屬性以相同的方式標記成了唯讀、永久的(不可刪除)或不可枚舉的。這些屬性用for/in迴圈不能枚舉出來。
with語句: with語句可以大大減少代碼輸入量,但是它的運行速度比不使用with語句的等價代碼慢很多。而且,在with語句中的函數定義和變數初始化可能會產生令人意想不到的行為。因此,建議避免使用with語句。
空語句 ;:空語句是不會執行任何操作的,但人們在實踐中發現,空語句在建立一個具有空主體的迴圈時是很有用的。