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

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

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

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

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

Спасибо.

7
задан sje397 18 August 2010 в 13:34
поделиться

3 ответа

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

3
ответ дан 7 December 2019 в 12:13
поделиться

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

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

А затем вместо записи

document.getElementById("foo")

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

id("foo");
2
ответ дан 7 December 2019 в 12:13
поделиться

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

0
ответ дан 7 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: