What Does "this" Refer To In A Call Statement In A Function, As A Method Of Another Function
If I see a code with constructor functions like this: function F(){} F.prototype.k = 'v'; function F2(){ F.call(this); } What does 'this' refer to here? I'm kind of lost. W
Solution 1:
this in any function is determined by how the function is called and you do not show how F2() is called, but what this code is doing is saying that whatever this is set to in F2, use the same value for this when F() is executed.
If
F2()is called just like thisF2(), thenthiswill be either the global object (windowin a browser) orundefined(if running in strict mode).If
F2is called like:var obj = new F2();Then,
thiswould be set to the a newly created instance ofF2.The methods
F2.apply(x)andF2.call(x)can determine whatthiswill be set to in a given function based on what you pass as the first argument.If it's a method call as in
obj.method(), thenthisis set to theobj.
Post a Comment for "What Does "this" Refer To In A Call Statement In A Function, As A Method Of Another Function"