You're wrong. You are invoking the function:
var x = a(); // assigning function to new variable
This line of code says invoke a when you write a(). The parentheses indicate an invocation.
To assign a function to a variable you have to use just the name, such as:
var x = a;
or pass the name to a function f:
f(a)
As a counter-example you invoke it in this next line of code and pass to g not the function be the result of its execution:
g(a())