首页  >  文章  >  web前端  >  “this”关键字在 jQuery 和 JavaScript 中的行为如何?

“this”关键字在 jQuery 和 JavaScript 中的行为如何?

Patricia Arquette
Patricia Arquette原创
2024-10-26 19:41:29348浏览

How Does the

“this”在 jQuery 中意味着什么?

在 jQuery 中,“this”代表作为函数主题的 DOM 元素被召唤。这通常用于事件回调和作用于多个元素的函数。例如:

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

这会将单击的元素的前景色设置为红色。

一般在 JavaScript 中

在 JavaScript 中,“this " 指的是调用该函数的对象。这是由函数的调用方式决定的,而不是由函数的定义位置决定的。

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

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

在此示例中,当调用 foo 时,“this”被设置为 obj。但是,“this”的值可以是任何对象,包括全局对象(浏览器中的窗口)。

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

//... Later

var obj = {
  firstName: "Wilma"
};

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

在上面的示例中,f 是对 foo 函数的引用。当在没有对象属性的情况下调用 f 时,“this”默认为全局对象。

ES5 严格模式

在 ES5 严格模式中,“this”可以是任何值,包括非对象。如果“this”没有显式设置,则默认为未定义。

<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>

在常规(非严格)模式下,所有这些调用都会返回 typeof this = object。

以上是“this”关键字在 jQuery 和 JavaScript 中的行为如何?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn