Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.07.2012, 19:53
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

Сжатие js кода
Подскажите, есть ли минификатор, который умеет сжимать свойства this (а также внешние) следующим образом:

function test()
{
this._View.bla();
this._View.bla();
this._View.bla();
this._View.bla();
this._View.bla();
this._View.bla();
};

=>

function test()
{
var n = this._View;
n.bla();
n.bla();
n.bla();
n.bla();
n.bla();
n.bla();
};
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2012, 08:56
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Closure Compiler
но this он не станет сжимать, все остальное сожмет
пример:
из этого:
(function(){

	function heh() {
		this._View = {
			bla: function() {
				alert("lala");
			}
		}
	}
	function test() { 
		this._View.bla();
		this._View.bla();
		this._View.bla();
		this._View.bla();
		this._View.bla();
		this._View.bla();
	}

	test.call(new heh());

})();

сделает это:
(function(){
	this.a.b();
	this.a.b();
	this.a.b();
	this.a.b();
	this.a.b();
	this.a.b()
}).call(new function(){
	this.a={
		b:function(){
			alert("lala")
		}
	}
});
табуляции я сам расставил, а так в одну строку код будет

запуск такой:
java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js=test.js --js_output_file=test.min.js
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2012, 09:02
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

из такого кода:
(function(){

	function heh() {
		this._View = {
			bla: function() {
				alert("lala");
			}
		}
	}
	function test() { 
		var self = this._View;
		self.bla();
		self.bla();
		self.bla();
		self.bla();
		self.bla();
		self.bla();
	}

	test.call(new heh());

})();
делает такой:
(function(){
	var a=this.b;
	a.a();
	a.a();
	a.a();
	a.a();
	a.a();
	a.a()
}).call(new function(){
	this.b={
		a:function(){
			alert("lala")
		}
	}
});
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 21.07.2012, 10:45
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

подозреваю что gzip справиться с этим лучше
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #5 (permalink)  
Старый 21.07.2012, 11:44
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от vflash
подозреваю что gzip справиться с этим лучше
ну гзип это не
Сообщение от kidar2
есть ли минификатор
это архиватор, обычно им уже пользуются после
Сообщение от kidar2
минификатор
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу приличный редактор кода под JS Universe Общие вопросы Javascript 28 30.10.2012 18:30
JS проверка наличия html кода Dodik Общие вопросы Javascript 37 15.07.2012 21:23
Как реализовать отключения JS кода через админку ? lamer Серверные языки и технологии 4 08.02.2012 17:23
Добавление кода js в js файл BEUJ Общие вопросы Javascript 13 12.01.2012 21:35
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33