In Javascript the "this" always refers the "owner" of the function being executed, or rather, to the object that a function is a method of. Below are a few different examples:
In this first example "this" refers to the global "window" object. If you do not reference a specific object then "this" refers to the global "window" object by default.
function doSomething()
{
alert(this == window); //the result will be true
}
doSomething();
In this second example "this" refers to the HTML/DOM object that was retrieved using the getElementById method.
var element = document.getElementById('something');
function doSomething()
{
alert(this == element); //the result will be true
}
element.onclick = doSomething;
In this third example "this" refers to the object that was instantiated using the "new" keyword. This is very similar to the previous example.
var object = new Object();
object.doSomething = function()
{
alert(this == object); //the result will be true
}
object.doSomething();
Please be aware that you must pass "this" along as a parameter if you reference another function from an HTML event attribute such as onclick.
Click Here
function doSomething(reference)
{
var element = document.getElementById('something');
alert(reference == element); //the result will be true
alert(this == element); //the result will be false
alert(this == window); //the result will be true
}
No comments:
Post a Comment