Сжатие строки JavaScript - PullRequest
       9

Сжатие строки JavaScript

7 голосов
/ 15 августа 2010

Я пытаюсь принять участие в конкурсе JavaScript, где размер скрипта должен быть <= 1 КБ.Minifying и eval разрешены, поэтому я запустил его с помощью компилятора Google Closure (который работает немного лучше, чем все остальные, которые я пробовал). </p>

Но я обнаружил, что если я преобразую скрипт в строкуи заменив длинные слова, такие как «функция» и «возврат», одиночными символами, я могу уменьшить это еще больше.Затем, встраивая строку в мой скрипт, выполняя подстановку для ее восстановления и затем «оценивая» ее, я могу получить исходное поведение.

Поэтому мне было интересно, смогу ли я обобщить этот последний метод.Кто-нибудь видел или писал код для сжатия / распаковки строк таким образом?Хочешь думать об этом?

РЕДАКТИРОВАТЬ Чтобы прояснить myslelf, я спрашиваю о сжатии и распаковке строк в javascript, а не о минимизации.Например, как найти наиболее распространенные шаблоны в строке и как написать крошечный декомпрессор в javascript для строк, где эти случаи были заменены одиночными символами.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 21 августа 2010

Вы случайно не искали http://www.iteral.com/jscrush/? Я нашел это полезным для того же конкурса (я предполагаю, что это js1k).

2 голосов
/ 15 августа 2010

Рассматривали ли вы сокращение кода путем создания ярлыка для тех объектов и методов JavaScript, которые вы часто используете в своем коде:

var d = document; var id = d.getElementById;

А потом вместо написания

document.getElementById("foo")

Вы можете написать

id("foo");
0 голосов
/ 15 августа 2010

Токенизация является предпочтительным методом сжатия скриптов, так как он работает с отдельными ключевыми словами и другими именами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...