我正在尝试参加一个javascript比赛,其中脚本的大小必须是<=1kb。允许使用Minifying和eval,因此我已经通过谷歌的closure编译器运行了它(它比我尝试过的其他编译器效果略好)。
但我发现,如果将脚本转换为字符串,并用单个字符替换像“function”和“return”这样的长单词,我甚至可以进一步减少脚本大小。然后,通过将字符串嵌入我的脚本中,执行替换以恢复它,然后进行“eval”,我就可以获得原始行为。
所以我想知道是否可以概括这种方法。有人看到或编写过这种压缩/解压缩字符串的代码吗?想想它吗?
编辑:为了使自己清楚,我询问的是在javascript中压缩和解压缩字符串 - 而不是minifying。例如如何找到字符串中最常见的模式,以及如何为这些出现替换为单个字符的字符串编写一个微小的解压缩程序。
谢谢。
但我发现,如果将脚本转换为字符串,并用单个字符替换像“function”和“return”这样的长单词,我甚至可以进一步减少脚本大小。然后,通过将字符串嵌入我的脚本中,执行替换以恢复它,然后进行“eval”,我就可以获得原始行为。
所以我想知道是否可以概括这种方法。有人看到或编写过这种压缩/解压缩字符串的代码吗?想想它吗?
编辑:为了使自己清楚,我询问的是在javascript中压缩和解压缩字符串 - 而不是minifying。例如如何找到字符串中最常见的模式,以及如何为这些出现替换为单个字符的字符串编写一个微小的解压缩程序。
谢谢。