举个例子

var fn = function() {
    var string = '123',

    concatString = function(s) {
        return string + s;
    };

    return concatString;
}();

var string = fn('456');

alert(string);

这段代码实现的就是拼接字符串的功能,故意写的啰嗦。最后弹出拼接后的结果。

经过uglify压缩后再格式化:

var fn = function() {
  var n = "123",
    r = function(r) {
      return n + r
    };
  return r
}(),
  string = fn("456");
alert(string);

可以看出,uglify只是简单的缩短了变量名,代码结果没有发生变化。

经过GCC压缩后:

alert("123456");

GCC直接改变了原有代码结构,去除了啰嗦的代码,直接输出运行结果。

对比很明显,GCC的压缩显得更加智能。


binnng
3.7k 声望308 粉丝

前端工程师