Why should I use semi-colons after functions?

An explanation of why using semi-colons after function expressions can lead to better minified code.

Using semi-colons after functions can lead to better minified, and thus smaller, files. Why? Because a function expression, like other expressions (and also function declarations), can have other expressions after it - just like your average joe JavaScript expression. So this is perfectly legal:

var myFunc=function(a){alert(a);};var myVar=48;
When it's not minified it may look like this:
var myFunc = function (a)

var myVar = 48;
But without the semi-colon it would look like this:
var myFunc=function(a){alert(a);}var myVar=48;
Which is not valid.

Function declarations are subtley different - they don't need semi-colons after the closing brace (or often a space too). For example this would be fine:

function myFunc(a){alert(a);} var myVar=48;

How significant is the difference?

Not much. A byte or two. But as the UK grocery store Tesco says... "Every little helps...". Though if if you're using compression it may make no difference at all. Still - now you know when they're necessary so it may save you some a lot of confusion.

RGraph on social media