Invoking a function without parentheses : <p>I was told today that it's possible to invoke a function without parentheses. The only ways I could think of was using functions like <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply"><code>apply</code></a> or <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call"><code>call</code></a>.</p>

<pre><code>f.apply(this);
f.call(this);
</code></pre>

<p>But these require parentheses on <code>apply</code> and <code>call</code> leaving us at square one. I also considered the idea of passing the function to some sort of event handler such as <a href="https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout"><code>setTimeout</code></a>:</p>

<pre><code>setTimeout(f, 500);
</code></pre>

<p>But then the question becomes "how do you invoke <code>setTimeout</code> without parentheses?"</p>

<p>So what's the solution to this riddle? How can you invoke a function in Javascript without using parentheses?</p>
