Javascript.RU

Firefox и потеря оригинального исходного кода. Оптимизация превыше всего.

alert(
  ""+(function()
  {
    var a=1+1;
    var b=Math.min(1,2);
    // камент ага
    var c=(((Math.max(1,2))));
    var d="1"+"b"+1;
    var e=a+b*c+(a+b)-d*((a+c)+a)-a/(a+a*(b-c));
    
    "просто строка";
    /рега/;
    
    /* хочу камент */
    if(false)
    {
      /* и тут тоже */
      alert("этот код никогда не выполнится но тем не менее");
    }
    
    for( ;; )
    { // люблю скобки на следующей строке
    
    }
    
    for(var i=0;i<5;++i)
    {
      alert("1"+i);
    }
  })
);
+5

Автор: Dmitry A. Soshnikov, дата: 1 марта, 2010 - 17:45
#permalink

Ну почему сразу "наглость", вполне всё в рамках "закона":

15.3.4.2 Function.prototype.toString( )

An implementation-dependent representation of the function is returned...

Вы ещё не видели, как JScript (IE) делает строковую декомпиляцию функций-выражений - он может включать в неё и вовсе неотносящиеся сущности, например, скобки оператора группировки, комменты внешние и т.д.


Автор: bga (не зарегистрирован), дата: 1 марта, 2010 - 17:52
#permalink

Согласен. И тем не менее именно в Firefox это носит наиболее тяжетый эффект. Хотя и в благой цели легкой оптимицации.


Автор: ixth, дата: 2 марта, 2010 - 11:35
#permalink

Не знаю насчет легкой оптимизации, но думаю, что вся инициализационная статика просто вычисляется на ранних проходах интерпретатора.


Автор: bga (не зарегистрирован), дата: 1 марта, 2010 - 18:30
#permalink

Поправил название на более корректное.


Автор: Гость (не зарегистрирован), дата: 1 марта, 2010 - 18:01
#permalink

Эту фичу можно использовать для распарсивания кода, который записан в строчку.


Автор: Л. Андрей (не зарегистрирован), дата: 1 марта, 2010 - 19:38
#permalink

Помогает при анализировании обфусцироного кода.


Автор: KOLANICH, дата: 20 декабря, 2010 - 13:59
#permalink

это круто
даже через closure compiler прогонять не надо
(шутка, он всё же полезен, так как лисе yt приходится самой оптимизировать)


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние темы на форуме
Forum