Make an array
var a = []
=> []
And a function that returns the array
var b = function(){ return a }
=> function (){ return a }
Invoking the function will return an array
b()
=> []
Since an Array is the return value of that function, I can chain Array methods to the function
b().push(1)
=> 1
Moreso, that method actually influenced the a
array;
a
=> [1]
Think of the possibilities...