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
Libérer: 2024-10-26 19:41:29
original
465 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal