0

ユーザーがキーボードのキーを押すたびに「仮想ギター ノート」を追加できるように、コードを変更したいと考えています。問題は、次のコードを理解していないことです。

        (b = c) ? b = "number" 
        == typeof b.which ? 3 : "number" 
        == typeof b.keyCode ? 2 : "number" 
        == typeof b.charCode ? 4 : 0 
        : (b = window.event, b = "number" == typeof b.keyCode ? 1 : 0); 

        0 != b ? 
        ("number" == typeof c.modifiers ? a += "var c=f.modifiers;" 
        : "boolean" == typeof c.shiftKey ? a += "var c=f.shiftKey*4+f.ctrlKey*2+f.altKey;" 
        : Stop(), c.srcElement ? a += "var d=f.srcElement;" 
        : c.target ? a += "var d=f.target;" 
        : St()) 
        : St(); 

        DFunct || (d=10, f=11);

最後の行が次のように変換されることを理解しています。

        if(!DFunct){
           d=10;
           f=11;
        }

押された値に基づいて音符を再生できるように、簡単な if else ステートメントを使用してこれを作成する必要があります。

4

1 に答える 1

1

初め:

b = c;

if ( c ) {

    if ( typeof b.which === "number" ) {

        b = 3;

    } else {

        if ( typeof b.keyCode === "number" ) {

            b = 2;

        } else {

            if ( typeof b.charCode === "number" ) {

                b = 4;

            } else {

                b = 0;

            }

        }

    }

} else {

    b = window.event;
    b = typeof b.keyCode === "number" ? 1 : 0;

}

2番:

if ( b !== 0 ) {

    if ( typeof c.modifiers === "number" ) {

        a += "var c=f.modifiers;";

    } else {

        if ( typeof c.shiftKey === "boolean" ) {

            a += "var c=f.shiftKey*4+f.ctrlKey*2+f.altKey;";

        } else {

            Stop();

            if ( c.srcElement ) {

                a += "var d=f.srcElement;";

            } else {

                if ( c.target ) {

                    a += "var d=f.target;";

                } else {

                    St();

                }

            }

        }

}​ else St();
于 2012-10-31T13:00:25.930 に答える