; è sempre necessario per scritture inline e soprattutto dopo le graffe

function pippo(a){alert(a)}; var a = "test"; pippo(a);

notare che dentro le graffe non è indispensabile mettere il ; dopo l'istruzione (però se è l'ultima o l'unica, altrimenti serve)


un while senza brachets richiede il ; un while con brachet lo richiede dopo la }

var pippo = true; while(pippo) break; alert("1 loop");

var pippo = true; while(pippo){ pluto = pippo; pippo = false}; alert("1 loop");

anche qui va notato che il termine istruzione è inevitabilmente la graffa ma dopo la graffa serve il ;


per un'assegnazione di variabili a scope "temporaneo" basta la virgola ma dopo l'ultima serve il ;

var a = 0, b = 100;


assegnazione di oggetti idem, la } deve essere seguita da un ; o se in assegnazione multipla da una virgola

var myObj = {}; var other = false;


var myObj = {}, other = false;


questo è vero anche per metodi o parametri dichiarati all'interno dell' oggetto

var obj = {method:function(){}, param: true};




e via così anche se innestati


function a(){function b(){return (function c(){return "Hello World"})()}; alert(b())}; a();



Questi accorgimenti sono oltretutto indispensabili se si utilizza la packer di Dean Edwards o la mia JavaScriptCompressor