我想了解所有这些工具是如何工作的,据我所知,他们改变变量的名称以实现更好的压缩。Packer,YUI压缩机等的行为
他们是否也更改对象的属性名称?我想他们不会,因为否则任何使用object[property]
表示法,其中property
动态计算,可能会失败。这是正确的吗?因此,在这种情况下,如果所有内容都只有一个全局变量的名称空间,那么在更改变量名称时就没有任何好处。这又合适吗?
我想了解所有这些工具是如何工作的,据我所知,他们改变变量的名称以实现更好的压缩。Packer,YUI压缩机等的行为
他们是否也更改对象的属性名称?我想他们不会,因为否则任何使用object[property]
表示法,其中property
动态计算,可能会失败。这是正确的吗?因此,在这种情况下,如果所有内容都只有一个全局变量的名称空间,那么在更改变量名称时就没有任何好处。这又合适吗?
帕克不压缩的形式,用较短的令牌替换常用词。它根本不重命名。
像YUI Compressor这样的工具只改变局部变量(和参数),但你可以将常用对象存储在局部变量中以利用空间的考虑。 (另外,访问本地变量与将范围链爬到最高级别相比稍快。)
只有局部变量可以被重命名
YUI Compressor可以缩小JavaScript和层叠样式表。
它也可以选择性地混淆..但只有Javascript。
缩小:去除空白和注释。
混淆:也minifies,但它也将进行修改程序,改变变量,函数和成员的名字,使得程序更难理解,并进一步减少了讨价还价的大小
那么,我们为什么要缩小或混淆?在保持完全相同的功能的同时减小文件大小。
你甚至读过这个问题吗? : -/ – Andrea 2010-09-25 18:13:34
@andrea heh - 可爱..你读过我的回答吗?看看两个BOLDED部分....此外,我只评论了YUI Compressor ..不是Packer,因为我从来没有使用过。 – 2010-09-26 01:20:11
根据其他答案,你写的是不正确的:并不是每个变量的名称都会改变,只有本地的。我已经知道缩小和混淆是什么;我的问题是针对这些工具在对象属性方面的行为。对不起,如果我的评论太苛刻了。 – Andrea 2010-09-26 17:53:50