title: Anonymous function name not getting displayed
body: <p>When I define a function as following I'm able to retrieve the name of the function and no of parameters.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>    let func = function(arg1, arg2){
       console.log("I am a function");
      }
      console.log("Function name : " + func.name);
      console.log("No of parameters : " + func.length);</code></pre>
  </div>
  </div>
  </p>
  
  <p>But if I use another function to retrieve a anonymous function in a variable then the function name is displayed as empty string.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>let func = function(){
       return function(arg1, arg2, arg3){
        console.log("Nested anonymous function");
       };
      }
      let func1 = func();
      console.log("Function name : " + func1.name); // "func1" expected
      console.log("No of parameters : " + func1.length);</code></pre>
  </div>
  </div>
  </p>
  
  <p>So my doubt is in both the cases anonymous functions are getting assigned to some variable. But in first case it abopts variable's name as function's name. But in second case it doesn't. What is the reason of this peculiar behaviour?</p>