I've been working with asynchronous functions
I've finally got around to avoid var _this = this; and switched to actually using call/apply. However when doing this,
/* inside instantiated obj */ setTimeout(function(){ /* more code here */ }.apply(this), 0); ,does not launch an error and seems to work. Why? Because I recently noticed that it was "wrong" and should actually be:
/* inside instantiated obj */ setTimeout(function(){ /* more code here */ }.bind(this), 0); The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.