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