javascript-this Flashcards
(8 cards)
What is this in JavaScript?
An implicit parameter of all JavaScript functions
What does it mean to say that this is an “implicit parameter”?
It is available in a function’s code block even though it was never included in the function’s parameter list or declared with var
When is the value of this determined in a function; call time or definition time?
Call time
What does this refer to in the following code snippet?
var character = {
firstName: ‘Mario’,
greet: function () {
var message = ‘It's-a-me, ‘ + this.firstName + ‘!’;
console.log(message);
}
};
The character object
Given the above character object, what is the result of the following code snippet? Why?
character.greet();
The result would be: “It’s-a-me, Mario!” because ‘this’ refers to the object being called which has a firstName property with a value of Mario
Given the above character object, what is the result of the following code snippet? Why?
var hello = character.greet;
hello();
The result would be: “It’s-a-me, undefined!” because ‘this’ refers to the window because there is nothing to the left of hello so it defaults to the window which does not have a firstName property
How can you tell what the value of this will be for a particular function or method definition?
You can’t tell because the value of ‘this’ is only determined at call time
How can you tell what the value of this is for a particular function or method call?
By looking at the object to the left of the dot