Uglifying JavaScript - дальнейшая оптимизация

Это может показаться глупым вопросом, но есть ли какая-то причина, почему Uglifiers не расширяют ссылки на внешние функции, используя указатель?

Пример:

Файл, над которым я работаю, имеет несколько вызовов _gaq.push(), Я сжал это, добавив в начало файла var _g=_gaq.push();, Затем я обновляю 12 звонков, чтобы использовать _g указатель. Это не спасло огромное количество (84 байта), но каждый немного помогает, верно?

Я что-то упустил, есть ли причина, по которой Uglifiers не делают этого?

1 ответ

Решение

Короче говоря, потому что существует слишком большой потенциал для взлома кода.

Предполагая, что вы имеете в виду var _g=_gaq.push;, тогда на ум приходят две возможные причины поломки:

  1. Вы изменили значение this внутри push, Если функциональность push зависит от того, тогда ты просто сломал это.
  2. Если значение _gaq.push изменяется после назначения _g тогда ваш код продолжит работать со старым значением.
Другие вопросы по тегам