Declaring both a variable and a function with an identical name in same scope should be avoided. Indeed, it makes it ambiguous to whether the named variable refers to the function or to something else, and can even be error prone.
For instance:
var fun; function fun() { }
should be refactored into:
var fun = function fun() { }