In ScriptEase the two statements, "foo()" and "foo();" are identical. It does not hurt to use semicolons, especially when used with return statements, such as "return;". But widespread or regular use of semicolons simply is not necessary. Similarly, parentheses, "(" and ")", are often unnecessary. For example, the following fragment is valid and results in both of the variables, n and x, being equal to 7.
var n = 1 + 2 * 3 var x = 2 * 3 + 1
The following fragment is identical and is clearer, but it requires more typing because of the addition of redundant tokens.
var n = 1 + (2 * 3); var x = (2 * 3) + 1;
The fragments could be rewritten to be:
var n = 1 + 2 * 3
var x = 2 * 3 + 1
var n = 1 + (2 * 3);
var x = (2 * 3) + 1;
Which fragment is better? The answer depends on personal taste. Efforts to standardize programming styles over the last three decades have been abysmal failures, not unlike efforts to control the Internet.