Function and variable with the same name
In JavaScript, function definitions are hoisted to the top of the current scope. Your example code therefore reads as:
var overlapping = function() { return 'this is a function definition' };
var overlapping = function() { return 'this is a var holding an anonymous function' };
This is some good read about this topic: http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting