Can we say that closures converts pass by reference to pass by value? :P

Also look at let and var. let does block level scoping whereas var does function level scoping. let is more intuitive. as you would consider block scoping in a loop for example.

look at IIFC immediately invoked function calls.

Understanding and separating out function definition and invocation in different things makes the understanding of this much easier.

    All notes