とほほのJavaScript入門(構文)

HOME > とほほのWWW入門 > とほほのJavaScript入門 > 構文
1998年2月15日版

構文

// ... (N2/e3)
C++言語と同様、// から行末まではコメントとして無視される。
    xx = 5;    // この部分はコメント

/* ... */ (N2/e3)
C言語と同様、/* と */ で囲まれた部分はコメントとして無視される。 複数行にわたるコメントも記述できる。
    /*
    この行はコメント
    */

{ statement1; statement2; ... } (N2/e3)
複数の文を { } で囲み複文を構成する。 複文は if文や while文の statementsとして使用できる。

with (obj) statements (N2/e3)
objで指定したオブジェクトについて処理を行う。 スクリプトの記述を短くするのに役立つ。 次の例は、document.write(...) と記述するのと同等。
    with (document) {
        write("AAA");
        write("BBB");
    }

new objectType(arg1, arg2, ...) (N2/e3)
objectTypeで指定したオブジェクトを生成する。
    dd = new Date(1999, 12, 31);

delete exp (N4/e4)
expで指定したプロパティやオブジェクトを削除する。
    tmp_buf = "ABCDEFG";
    delete tmp_buf;

this (N2/e3)
現在参照しているオブジェクトを示す。
    <INPUT TYPE=button onClick="this.form.submit()">

if (exp) statements1 else statements2 (N2/e3)
expが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");
    }

switch (exp) { case label1: satements; ... } (N4/e4)
expの値に応じて処理を振り分ける。
    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 (exp) statements (N2/e3)
expがtrueの間statementsを繰り返す。 次の例では 0123456789 と表示される。
    i = 0;
    while (i < 10) {
        document.write(i);
        i++;
    }

do statements while (exp); (N4/e4)
expがtrueの間statementsを繰り返す。 次の例では 0123456789 と表示される。 最初からexpがfalseであっても、statementsが少なくとも1回は実行される点が while (...) {...} と異なる。 NN4.0から使用可能。
    i = 0;
    do {
        document.write(i);
        i++;
    } while (i < 10);

for (exp1; exp2; exp3) statements (N2/e3)
最初にexp1を実行し、次に、statementsexp3exp2がtrueの間繰り返す。 次の例は処理を10回繰り返す典型的な例で、0123456789 と表示される。
    for (i = 0; i < 10; i++) {
        document.write(i);
    }

for (var in array) statements (N2/e3)
オブジェクトが持つすべての属性についてstatementsを実行する。
    for (i in navigator) {
        document.write(i, "<BR>");
    }

break [label] (N2/e3)
もっとも内側(もしくはlabelで指定した)の for, while, do ループや、switch分のcase節を抜ける。 次の例では 01234 と表示される。
    for (i = 0; i < 10; i++) {
        if (i == 5) {
            break;
        }
        document.write(i);
    }

continue [label] (N2/e3)
ループ内の残りの処理をスキップし、もっとも内側(もしくはlabelで指定した)の for, while, do ループの次のループを実行する。 次の例では 012346789 と表示される。
    for (i = 0; i < 10; i++) {
        if (i == 5) {
            continue;
        }
        document.write(i);
    }

label: (N4/e4)
スクリプト中の位置にラベルをつける。 break文やcontinue文でラベルを指定することが可能。
    label1:
    for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++) {
            if (func(i, j) {
                break label1;
            }
        }
    }

function (N2/e3)
未稿。

return (N2/e3)
未稿。

var (N2/e3)
未稿。

typeof exp (N3/e4)
typeof(exp) (N4/e3)
expの型を示す文字列( "string", "number", "object", "boolen", "function", "undefined" のいずれか)を返す。

void exp (N3/e4)
void(exp) (N4/e3)
expの値を返さないようにする。 以下のように用いる。
<A HREF="javascript:void(func())">XXX</A>

import (N4)
未稿。

export (N4)
未稿。

Copyright(C) とほほ ( http://www2e.biglobe.ne.jp/~s-hasei/ )