Maison >interface Web >js tutoriel >Comment le mot-clé \'this\' se comporte-t-il dans jQuery et JavaScript ?
Que signifie « ceci » dans jQuery ?
Dans jQuery, « ceci » représente l'élément DOM qui fait l'objet de la fonction étant appelé. Ceci est couramment utilisé dans les rappels d'événements et les fonctions qui agissent sur plusieurs éléments. Par exemple :
<code class="javascript">$("div").click(function() { this.style.color = "red"; });</code>
Cela définit la couleur de premier plan de l'élément cliqué sur rouge.
Génériquement en JavaScript
En JavaScript, "ce " fait référence à l'objet qui appelle la fonction. Ceci est déterminé par la manière dont la fonction est appelée, plutôt que par l'endroit où elle est définie.
<code class="javascript">var obj = { firstName: "Fred", foo: function() { alert(this.firstName); } }; obj.foo(); // alerts "Fred"</code>
Dans cet exemple, "this" est défini sur obj lorsque foo est appelé. Cependant, la valeur de "this" peut être n'importe quel objet, y compris l'objet global (fenêtre dans les navigateurs).
<code class="javascript">f(); // Probably alerts "undefined" //... Later var obj = { firstName: "Wilma" }; f = obj.foo; f(); // alerts "Wilma"</code>
Dans l'exemple ci-dessus, f est une référence à la fonction foo. Lorsque f est appelé sans propriété d'objet, "this" est par défaut l'objet global.
Mode strict ES5
En mode strict ES5, "this" peut avoir n'importe quel valeur, y compris les non-objets. Si "this" n'est pas explicitement défini, la valeur par défaut est undefined.
<code class="javascript">"use strict"; function test(msg) { console.log("[Strict] " + msg + "; typeof this = " + typeof this); } test(); // typeof this = undefined test.call(5); // typeof this = number</code>
En mode normal (non strict), tous ces appels auraient renvoyé typeof this = object.
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!