Plain references to functions lose context
Taking a reference to a function of a class object sometimes loses the context.
If I say:
var g = obj.f;
g();
Then the 'this' for 'g' is 'window' not 'obj'.
To get round this, sometime I say:
g.call(obj);
With a timeout, sometimes I say:
var that = this;
function callg()
{
that.g();
}
setTimeout(callg, 1000);
I have been converting 'modules' to objects made with 'prototypes' and 'new'. By a 'module' I mean a self-executing anonymous function (a closure) returning references to inner functions.
There are more tips at: bbingo.xyz/techtips/
Comments
Post a Comment