繁体   English   中英

是否有任何JS压缩程序都会用字符串替换通用属性名称?

[英]Will any JS minifiers replace common property names with strings?

是否会有任何JS缩小器(uglify,closure等)通过为长属性名添加变量的步骤? 我已经尝试了这两种方法,都找不到标志来做到这一点,但是只是想知道是否有人知道我不知道的事情:)

例如:

obj.longPropertyName = 42;
obj.longPropertyName++;
obj.longPropertyName++;
obj.longPropertyName++;

可以缩小为:

var a='longPropertyName';
obj[a]=42;
obj[a]++;
obj[a]++;
obj[a]++;

[编辑]要清楚,闭包将执行此操作(或者将其简化为obj.a ),但不会使用诸如window.addEventListener默认道具。

是的,某些缩小器还具有附加标志来混淆函数名和属性名。 通常,这些混淆导致属性名称很短(但并非每次都有)。

编辑:例如,如果您不将--nomunge参数传递给它,则默认情况下,例如,YUI压缩器将默认执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM