Bonjour,
Je n'arrive pas à trouver ma réponse alors je me lance :
On va dire que je suis à un niveau débutant+ en javascript, certain concepts m'échappent encore.
En lisant un livre sur le sujet, je suis tombé sur cet exemple dans un chapitre qui traite de this dans le contexte des objets et classes :
Comme il est expliqué dans ce livre, la méthode p.bonjour renvoie un 'Bonjour undefined" car quand la méthode setTimeout sera exécutée elle ne connaît pas l'instance p.
Et c'est là qu'arrive ma question : pourquoi ne connaît elle pas l'instance p alors qu'elle est déclarée 1 ligne plus haut ?
Merci d'avance car je ne sais absolument pas la logique.
Modifié par Jipeg99 (24 Mar 2018 - 02:51)
Je n'arrive pas à trouver ma réponse alors je me lance :
On va dire que je suis à un niveau débutant+ en javascript, certain concepts m'échappent encore.
En lisant un livre sur le sujet, je suis tombé sur cet exemple dans un chapitre qui traite de this dans le contexte des objets et classes :
function Personne( nom, prenom ) {
this.nom = nom;
this.prenom = prenom;
this.bonjour = function() {
alert( "Bonjour " + this.prenom );
}
}
var p = new Personne( 'Brillant', 'Alexandre' );
setTimeout( p.bonjour, 1000 );
Comme il est expliqué dans ce livre, la méthode p.bonjour renvoie un 'Bonjour undefined" car quand la méthode setTimeout sera exécutée elle ne connaît pas l'instance p.
Et c'est là qu'arrive ma question : pourquoi ne connaît elle pas l'instance p alors qu'elle est déclarée 1 ligne plus haut ?
Merci d'avance car je ne sais absolument pas la logique.
Modifié par Jipeg99 (24 Mar 2018 - 02:51)