Основные компрессоры и мини-компрессоры JavaScript не имеют имен объектов. (Google Closure, YUI ...)Сжатие Javascript и проблема с свойствами объекта
Я заметил, что в результате получается большая разница в размере (gzipped и не gzipped) в зависимости от того, какой путь или шаблон мы решили выбрать для нашего скрипта.
В качестве примера, выбор шаблона прототипа для нашего проекта, скорее всего, приведет к созданию больших результирующих файлов (несжатых, сжатых и gzipped).
Вот небольшое сравнение с двумя частями кода делает точно то же самое:
- Prototype pattern138 байт сжат GZIP (286 байт несжатых)
- Without pattern87 байт сжат GZIP (110 байт несжатых)
Сжатый с использованием Google Closure compiler.
В результате совершенно очевидно, просто глядя на полученный сжатый код:
Прототип картины
вар MyBluePrint = функция() {this.name = "демо" ; this.someFunction = function() {alert ("some function")}; this.someOtherFunction = function() {alert ("some other function")}; this.showMyName = function() {alert (this.name) }; this.someFunction(); this.someOtherFunction(); this.showMyName()}; new MyBluePrint;
Без рисунка
вар MyBluePrint = функция() {Alert ("некоторые функции"), предупреждение ("некоторые другие функции"), предупреждение ("демо")}; новый MyBluePrint;
Все, используя свойство объекта не будет сжато. Такие как:
//function declarations
this.someFunction = function(){ ... }
//objects
var demo = {
isActive: 'aaaa'.
name: 'aaaa'
}
Должны ли мы действительно думать об этом при создании наших проектов? Это было бы не в первый раз, когда вместо того, чтобы иметь объект, полный свойств, я решил использовать обычные переменные только для того, чтобы использовать много имен свойств long.
Зависит от потенциальной экономии и, следовательно, размера вашего кода для минимизации. Насколько велика будет конечная экономия? – tucuxi
Ваши ссылки JSFiddle идентичны. Оба они выглядят как метод без шаблонов. –
@ChadKillingsworth извините за это. Обновленная ссылка. – Alvaro