Is there any benefit for the following JavaScript module defenition:
 var module = (function(){
 var PublicFnc = function(){ // variable declaration 
     alert('hi');
 }
 return {
   f : PublicFnc
 }
 })();
 module.f();
Over the following:
 var module = (function(){
 function PublicFnc(){ // function declaration 
     alert('hi');
 }
 return {
   f : PublicFnc
 }
 })();
 module.f();
Although the second example is more convenient since it is more similar to Java/C# the anonymous methods are used more often and I'm wondering what is the benefit?
@Alexander, thanks for marking the question as duplicate but I tend to leave it open since I'm asking for the benefits within the context of module patterns and not generally
 
     
    