Reason behind this self invoking anonymous function variant
By default, invoking a function like (function(){/*…*/})() will set the value of this in the function to window (in a browser) irrespective of whatever the value of this may be in the enclosing context where the function was created. Using call allows you to manually set the value of this to whatever you want. In … Read more