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;

}

第二:

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 回答