制御文


 ViViScript には以下の制御文があります。

■ if else

 条件式の値が0かどうかで実行する文を決定します。else 節は省略可能です。

【構文】

    if( 条件式 )
        文1
    [ else
        文2 ]

【サンプル】

    function min(a, b)
    {
        if( a <= b )
            return a;
        else
            return b;
    }

■ while

 条件が真(0以外の数値)の間、文を実行します。(無限ループにならないようにしましょう。 その時は Ctrl + F7 で実行を中断します)

【構文】

    while( 条件式 )
        文

【サンプル】

    while( node.next != 0 ) {
        console.writeln("node.data = " + node.data);
        node = node.next;
    }

■ for

 ループを行うための制御文です。

【構文】

    for( 初期式 ; 条件式 ; 更新式 )
        文

【サンプル】

    for(var i = 0; i < 100; ++i)
        console.writeln("i = " + i);

■ for in

 オブジェクトの全プロパティに対し処理を行いたい時に使います。 指定オブジェクトのプロパティの値を順次変数に格納し、文を実行します。

【構文】

    for( 変数 in オブジェクト )
        文

【サンプル】

    var obj, prop;
    obj.shinjyuku = "新宿";
    obj.shibuya = "渋谷";
    obj.ginza = "銀座";
    for(prop in obj)
        console.writeln("obj." + prop + " = " + obj[prop]);

【実行結果】

    obj.shinjyuku = 新宿
    obj.shibuya = 渋谷
    obj.ginza = 銀座

■ break

 もっとも内側の while, for, for in ループから脱出します。 ループ外で実行した場合はエラーとなります。

【サンプル】
    var i = 0;
    while(1) {
        if( i >= 10 )
            break;
        console.writeln("i = " + i);
        i += 1;
    }

■ contine

 もっとも内側の while, for, for in ループの条件部(for の場合は更新式)にジャンプします。 ループ外で実行した場合はエラーとなります。

【サンプル】

    for(var i=0; i < 10; ++i) {
        if( i < 5 )
            continue;
        console.writeln("i = " + i);
    }

■ return

 関数内の実行を中断し、関数からリターンします。 直後に式を記述すると、その値が関数の値となります。

【サンプル】

    function add(arg1, arg2)
    {
        return arg1 + arg2;
    }