In that sence, after declaring the foo function and keeping it available on the variable foo - you can later call foo() as much as you like - that is because foo is a variable that holds a reference to the function, which can be later executed - as long as the variable foo is not overriden with another value or hidden by a more local variable in that name.