title: Function calling in Javascript with double brackets
body: <p>When I call function <code>hi()()</code> with double brackets the function displays <code>hi</code> output and it will also give error saying, that <code>hi</code> is not function.</p>
  
  <pre><code>&lt;html&gt;
      &lt;head&gt;&lt;/head&gt;
  &lt;script&gt;
  
  function hello()
  {
      document.write("hello");
  }
  function hi()
  {
      document.write("hi");
      return "hello";
  }
  hi()();
  &lt;/script&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>What is the meaning of using <code>()()</code> with function name?</p>