this
(aka "the context") is a special keyword inside each function and its value only depends on how
the function was called, not how/when/where it was defined. It is not affected by lexical scopes like other variables (except for arrow functions, see below). Here are some examples:
function foo() {
console.log(this);
}
// normal function call
foo(); // `this` will refer to `window`
// as object method
var obj = {bar: foo};
obj.bar(); // `this` will refer to `obj`
// as constructor function
new foo(); // `this` will refer to an object that inherits from `foo.prototype`
To learn more about this
, have a look at the MDN documentation.
Compare two dates with JavaScript
From an array of objects, extract value of a property as array
How do I loop through or enumerate a JavaScript object?
Is there a JavaScript equivalent of PHP’s “variable variables”?
What is the (function() { } )() construct in JavaScript?
How do I copy to the clipboard in JavaScript?
Where can I find documentation on formatting a date in JavaScript?
How do I redirect to another webpage?