任何JS minifiers(uglify,closure等)都会经历为长属性名添加变量的步骤吗?我已经尝试了两种方法,并且无法找到执行此操作的标记,但只是想知道是否有人知道我不会做的事情:)
e.g:
obj.longPropertyName = 42;
obj.longPropertyName++;
obj.longPropertyName++;
obj.longPropertyName++;
可以缩小为:
var a='longPropertyName';
obj[a]=42;
obj[a]++;
obj[a]++;
obj[a]++;
[edit]要明确的是,闭包会做到这一点(或者更确切地说会减少到obj.a
),但它不会使用window.addEventListener
等默认道具
答案 0 :(得分:0)
是的,一些缩小器具有混淆功能和属性名称的附加标志。大多数情况下,这些混淆会导致属性名称非常短(但不是每次都有)。
编辑:例如,YUI压缩器默认情况下会这样做,如果你没有将--nomunge参数传递给它。