Home > Web Front-end > JS Tutorial > How Does the \'this\' Keyword Behave in jQuery and JavaScript?

How Does the \'this\' Keyword Behave in jQuery and JavaScript?

Patricia Arquette
Release: 2024-10-26 19:41:29
Original
415 people have browsed it

How Does the

What Does "this" Mean in jQuery?

In jQuery, "this" represents the DOM element that is the subject of the function being called. This is commonly used in event callbacks and functions that act on multiple elements. For instance:

<code class="javascript">$("div").click(function() {
  this.style.color = "red";
});</code>
Copy after login

This sets the foreground color of the clicked element to red.

Generically in JavaScript

In JavaScript, "this" refers to the object that is calling the function. This is determined by how the function is called, rather than where it is defined.

<code class="javascript">var obj = {
  firstName: "Fred",
  foo: function() {
    alert(this.firstName);
  }
};

obj.foo(); // alerts "Fred"</code>
Copy after login

In this example, "this" is set to obj when foo is called. However, the value of "this" can be any object, including the global object (window in browsers).

<code class="javascript">f(); // Probably alerts "undefined"

//... Later

var obj = {
  firstName: "Wilma"
};

f = obj.foo;
f(); // alerts "Wilma"</code>
Copy after login

In the above example, f is a reference to the foo function. When f is called without an object property, "this" defaults to the global object.

ES5 Strict Mode

In ES5 strict mode, "this" can have any value, including non-objects. If "this" is not explicitly set, it defaults to 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>
Copy after login

In regular (non-strict) mode, all of these calls would have returned typeof this = object.

The above is the detailed content of How Does the \'this\' Keyword Behave in jQuery and JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template