Я сейчас работаю над минификатором. Даже сейчас я проверяю это на двух огромных сценариях. Экспериментально я узнал:
Вы можете удалить фигурные скобки для функции if, else, while, *, если фигурные скобки не содержат ';', 'return', 'for', 'if', 'else', 'while', ' делать»,„функция“. Независимо от переноса строки.
function a(b){if(c){d}else{e}} //ok
function a(b){if(c)d;else e} //ok
Конечно, вам нужно заменить закрывающую скобку точкой с запятой, если за ней нет другой закрывающей скобки.
Функция не должна заканчиваться запятой.
var a,b=function()c; //ok *but not in Chrome
var b=function()c,a; //error
Проверено на Chrome и FF.