2

これは入力です:

function local2functionA()
{
    local2functionB('hello');
}

function local2functionB(text)
{
    alert(text);
}

これは出力です:

function local2functionA(){local2functionB("hello")}function local2functionB(a){alert(a)};

関数名を変更していないアイデアはありますか?

http://www.shrinker.ch/で同じ結果

4

1 に答える 1

2

これらの関数はトップレベルで宣言されているため、「外部」に表示されるため、名前を変更するだけでは不十分だと思います。

local2functionBの定義をlocal2functionAの中に入れると、次のようにうまく縮小されます。

function local2functionA()
{
    function local2functionB(text)
    {
      alert(text);
    }

    local2functionB('hello');
}

// becomes 

function local2functionA(){alert("hello")};

残りのトップレベル関数も名前が変更されないことに注意してください(「プライベート」関数は完全にインライン化されます)。

于 2012-08-21T12:32:04.477 に答える