Maison >interface Web >js tutoriel >Comment le mot-clé \'this\' se comporte-t-il dans jQuery et JavaScript ?

Comment le mot-clé \'this\' se comporte-t-il dans jQuery et JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 19:41:29424parcourir

How Does the

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn