Maison > Article > interface Web > Partage d'informations utiles JS - cela souligne le problème
Utiliser habituellement c'est un peu déroutant, alors j'ai écrit un résumé.
Avant, il n'y avait pas de fonction flèche, nous disions c'est l'objet environnement où la fonction s'exécute, mais dans la fonction flèche, c'est l'objet où elle est définie. Parlons de quoi. tout le monde sait d'abord : la fonction en cours d'exécution L'objet d'environnement où il se trouve à ce moment-là.
1. En tant qu'appel de fonction, cela pointe vers l'objet global
2 En tant qu'appel de méthode objet, l'objet est le contexte appelant, et cela pointe vers l'objet.
3. En tant qu'appel de constructeur, le constructeur tente d'initialiser l'objet nouvellement créé et utilise cet objet comme contexte d'appel, celui-ci pointant vers l'objet nouvellement créé.
4. Appel indirect via la méthode call/apply de la fonction Le premier paramètre de la méthode call/apply est le contexte d'appel dans le corps de la fonction. il est obtenu grâce à cette citation.
Dans la fonction flèche, le cet objet est la portée dans laquelle il est défini, c'est-à-dire que la fonction flèche elle-même n'a pas. this, et le this interne est le code externe this dans la portée du bloc.
5, fonction indépendante
La fonction flèche est définie dans l'environnement global, c'est-à-dire cela pointe vers la fenêtre
6, les méthodes objet
Comme indiqué ci-dessus, foo est défini globalement, donc cela pointe vers la fenêtre, alors comment faire ce point sur obj ?
Selon l'article précédent, lorsqu'une fonction est appelée comme méthode d'un objet, cela pointe vers l'objet et peut être réécrit comme ceci :
func est défini lorsque foo est appelé. La portée de foo à ce moment est obj, donc cela pointe vers obj
7 et le constructeur . Comme la fonction flèche n'a pas cela, elle ne peut pas être utilisée comme fonction constructeur, sinon une erreur sera signalée
8, . bind/call
comme ci-dessus : func est défini globalement, il affiche donc 0. Identique à la méthode objet, nous pouvons la réécrire comme suit pour imprimer 1
Tutoriel recommandé : "Tutoriel JS 》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!