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);
}
})
);
|
Ну почему сразу "наглость", вполне всё в рамках "закона":
Вы ещё не видели, как JScript (IE) делает строковую декомпиляцию функций-выражений - он может включать в неё и вовсе неотносящиеся сущности, например, скобки оператора группировки, комменты внешние и т.д.
Согласен. И тем не менее именно в Firefox это носит наиболее тяжетый эффект. Хотя и в благой цели легкой оптимицации.
Не знаю насчет легкой оптимизации, но думаю, что вся инициализационная статика просто вычисляется на ранних проходах интерпретатора.
Поправил название на более корректное.
Эту фичу можно использовать для распарсивания кода, который записан в строчку.
Помогает при анализировании обфусцироного кода.
это круто
даже через closure compiler прогонять не надо
(шутка, он всё же полезен, так как лисе yt приходится самой оптимизировать)
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.