JavaScript ceci avec des objets simples


Exemple

var person = {
  name: 'John Doe',
  age: 42,
  gender: 'male',
  bio: function() {
    console.log('My name is ' + this.name);
  }
};
person.bio(); // logs "My name is John Doe"
var bio = person.bio;
bio(); // logs "My name is undefined"

Dans le code ci-dessus, person.bio utilise le contexte ( this ). Lorsque la fonction est appelée person.bio() , le contexte est transmis automatiquement et il enregistre correctement "Je m'appelle John Doe". Lors de l'attribution de la fonction à une variable, elle perd son contexte.

En mode non strict, le contexte par défaut est l'objet global ( window ). En mode strict, il n'est undefined .