- // ... (e3/N2)
- C++言語と同様、// から行末まではコメントとして無視される。
xx = 5; // この部分はコメント
- /* ... */ (e3/N2)
- C言語と同様、/* と */ で囲まれた部分はコメントとして無視される。 複数行にわたるコメントも記述できる。
/* この行はコメント */
- { statement1; statement2; ... } (e3/N2)
- 複数の文を { } で囲み複文を構成する。 複文は if文や while文の statementsとして使用できる。
- with (obj) statements (e3/N2)
- objで指定したオブジェクトについて処理を行う。 スクリプトの記述を短くするのに役立つ。 次の例は、document.write(...) と記述するのと同等。
with (document) { write("AAA"); write("BBB"); }
- this (e3/N3)
- 現在参照しているオブジェクトを示す。
<INPUT TYPE=button onClick="this.form.submit()">
- if (expression) statements1 else statements2 (e3/N2)
- expressionがtrueであればstatements1を、さもなくばstatements2を実行する。
if (i < 10) { document.write("SMALL"); } else { document.write("BIG"); }else以降は記述しない場合もある。if (i < 10) { document.write("SMALL"); }次のような書き方もできる。if (i < 10) { document.write("SMALL"); } else if (i > 20) { document.write("BIG"); } else { document.write("NORMAL"); }NNでは、if (xx = yy) のようにif文の中に代入演算子を用いると警告ダイアログを表示した後、勝手に xx == yy と解釈する仕様だったが、JavaScript1.3からは、if ((xx = yy)) のように括弧を余分に記述することで「代入した結果が真であれば」を実現できるようになった。
- switch (expression) { case label1: satements; ... } (e4/N4)
- expressionの値に応じて処理を振り分ける。
switch (xx) { case 1: document.write("xx is 1."); break; case 2: document.write("xx is 2."); break; default: document.write("xx is not 1 nor 2."); break; }
- while (expression) statements (e3/N2)
- expressionがtrueの間statementsを繰り返す。 次の例では 0123456789 と表示される。
i = 0; while (i < 10) { document.write(i); i++; }
- do statements while (expression); (e4/N4)
- expressionがtrueの間statementsを繰り返す。 次の例では 0123456789 と表示される。 最初からexpressionがfalseであっても、statementsが少なくとも1回は実行される点が while (...) {...} と異なる。 NN4.0から使用可能。
i = 0; do { document.write(i); i++; } while (i < 10);
- for (expression1; expression2; expression3) statements (e3/N2)
- 最初にexpression1を実行し、次に、statementsとexpression3をexpression2がtrueの間繰り返す。 次の例は処理を10回繰り返す典型的な例で、0123456789 と表示される。
for (i = 0; i < 10; i++) { document.write(i); }
- for (variable in array) statements (e3/N2)
- 配列のすべての要素に関する処理を行う。
xx = new Array(3); xx[0] = "A"; xx[1] = "B"; xx[2] = "C"; for (i in xx) { document.write(xx[i]); }- オブジェクトが持つ属性の一覧を調べることもできる。これで調べられない属性(DontEnum属性を持つ属性)もあるので注意。
for (i in navigator) { document.write(i, "<BR>"); }
- break [label] (e3/N2)
- もっとも内側(もしくはlabelで指定した)の for, while, do ループや、switch分のcase節を抜ける。 次の例では 01234 と表示される。
for (i = 0; i < 10; i++) { if (i == 5) { break; } document.write(i); }
- continue [label] (e3/N2)
- ループ内の残りの処理をスキップし、もっとも内側(もしくはlabelで指定した)の for, while, do ループの次のループを実行する。 次の例では 012346789 と表示される。
for (i = 0; i < 10; i++) { if (i == 5) { continue; } document.write(i); }
- label: (e4/N4)
- スクリプト中の位置にラベルをつける。 break文やcontinue文でラベルを指定することが可能。
label1: for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { if (func(i, j) { break label1; } } }
- function (e3/N2)
- 関数を定義する。(→ 関数)
- return (e3/N2)
- 関数から戻る。(→ 関数)
- var (e3/N2)
- 未稿。
- import (N4)
- 未稿。
- export (N4)
- 未稿。