Avant-propos : Cet objet ne fonctionnera que lorsque le mode strict n'est pas utilisé. L'objet this est lié à l'environnement d'exécution de la fonction au moment de l'exécution.
Cas 1 : Dans une fonction globale, this est égal à window. Seulement lorsque la fonction est appelée comme méthode d'un objet, this sera égal à cet objet. Si vous ne savez toujours pas ce qu'est une fonction globale, veuillez vous référer ici et cliquer pour ouvrir le lien
Cas 2 : L'environnement d'exécution de la fonction anonyme est global, cela indique généralement à la fenêtre
Par exemple
var name = "window"; var object = { name: "Object name", getNameFunc: function () { return function (){ return this.name; }; } }; console.log(object.getNameFunc() ()); // 输出window
Cas 3 : Enregistrez cet objet dans la portée externe dans une variable accessible par la fermeture, afin que cela peut pointer vers cet objet dans la portée
Par exemple
var name = "window"; var object = { name: "Object name", getNameFunc: function () { var that = this; return function (){ return that.name; }; } }; console.log(object.getNameFunc() ()); // 输出Object name
Cas 4 : Attribuez d'abord la fonction, puis exécutez-la, la valeur de ceci ne peut pas être maintenu
Par exemple
var name = "window"; var object = { name: "Object name", getName: function () { return this.name; } }; console.log((object.getName = object.getName) ()); // 输出window
Cas 5 : Si l'environnement d'exécution de la fonction est modifié via un appel ou une application, ceci pointera vers d'autres objets
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!