我试图了解所有这些工具是如何工作的,因为据我所知,它们会更改变量的名称以实现更好的压缩。
他们是否也改变了对象的属性名称?我猜他们不会,因为否则使用动态计算的object[property]
符号的任何东西都property
可能失败。这是正确的吗?
因此,在这种情况下,如果所有内容都使用一个全局变量进行命名空间,那么更改变量名将没有任何好处。这又是对的吗?
我试图了解所有这些工具是如何工作的,因为据我所知,它们会更改变量的名称以实现更好的压缩。
他们是否也改变了对象的属性名称?我猜他们不会,因为否则使用动态计算的object[property]
符号的任何东西都property
可能失败。这是正确的吗?
因此,在这种情况下,如果所有内容都使用一个全局变量进行命名空间,那么更改变量名将没有任何好处。这又是对的吗?
Packer 进行了一种压缩,用较短的标记替换常用词。它根本不做重命名。
YUI Compressor 之类的工具仅更改局部变量(和参数),但您可以将常用对象存储在局部变量中以利用空间考虑。(此外,访问局部变量比将作用域链爬到顶层要快一些。)
只能重命名局部变量
YUI Compressor 可以缩小 JavaScript 和级联样式表。
它还可以选择性地混淆 .. 但仅限于 Javascript。
解释差异...
minification:删除空格和注释。
obfuscation : 也会缩小,但也会对程序进行修改,更改变量、函数和成员的名称,使程序更难理解,并进一步缩小程序的大小
那么我们为什么要缩小或混淆呢?在保持完全相同的功能的同时减小文件大小。