0

誰かがこれらの行の背後にあるロジックを説明してもらえますか?

onkeyup イベントです。r の値がわかりません。

return $("#commentText").val() ?
(0==r&&(r=!0,setTimeout( function(){r=!1},1e4),socket.emit('status', connectiondetails)),void 0)
: !1

スタンドアローンは何をしr=!0ますか?何をしfunction(){r!=1}ますか?

!1戻り値とは?

!1==ですかfalse

4

1 に答える 1

1

これは難読化または縮小されたコードのようです。

return $("#commentText").val() ?
(0==r&&(r=!0,setTimeout( function(){r=!1},1e4),socket.emit('status', connectiondetails)),void 0)
: !1

になります(私が理解できる限り):

if ($("#commentText").val()) {
    if(0==r) {
        r = true;
        setTimeout( 
            function(){ r = false},1000
        );
        socket.emit('status', connectiondetails)
    }
}
else {
    return false;
}

使用されるいくつかのマッピング:

true        -> !0     (saves 2 characters)
false       -> !1     (saves 3 characters)
if(x) { y } -> x && y (saves 5 characters)
1000        -> 1e4    (saves 1 character)
于 2013-05-28T15:59:36.100 に答える