Semicolons in javascript signifies end of statement but semicolons is optional. Javascript interpreters places invisible semicolons at the end of each statement. This feature is called implicit semicolon insertion.
Argument to return is optional in javascript. return statment without any value returns undefined. Placing return and its argument on seperate lines causes interpreters to place semicolons between return and its argument.
var region = function(){
return
{
top: 0
}
}
var r = region();
alert(r);
Javascript interprets above code as
var region = function(){
return; //semicolons
{
top: 0
}; //semicolons
}; //semicolons
var r = region();
alert(r);
//Output: undefined
Valid Code
var region = function(){
return {
top: 0
};
};
var r = region();
alert(r);
//Output: [object Object]
JSLint throw this error: "Line breaking error 'return'."