javascript-this Flashcards

1
Q

What is this in JavaScript?

A

A better question will be when is this, this is an implicit parameter, whose value is determined by when the function is called and not defined

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does it mean to say that this is an “implicit parameter”?

A

It means it is available in a function’s code block, even though it was not included as a parameter or declared.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When is the value of this determined in a function; call time or definition time?

A

Call time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
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);
  }
};
A

The object ‘character’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Given the above character object, what is the result of the following code snippet? Why?
character.greet();

A

It’s-a-me, Mario!

.greet() is a method on the character object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
Given the above character object, what is the result of the following code snippet? Why?
var hello = character.greet;
hello();
A

It’s-a-me, undefined!

the ‘this.firstName’ is bound to the values in ‘character’ which the ‘hello’ variable does not have.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How can you tell what the value of this will be for a particular function or method definition?

A

The code block it is nested in. If it’s within an object, ‘this’ refers to the object. If it’s within a function declared in the global scope, it refers to the window

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can you tell what the value of this is for a particular function or method call?

A

This is determined when the function or method is called

How well did you know this?
1
Not at all
2
3
4
5
Perfectly