>  기사  >  웹 프론트엔드  >  \"this\" 키워드는 jQuery와 JavaScript에서 어떻게 작동하나요?

\"this\" 키워드는 jQuery와 JavaScript에서 어떻게 작동하나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 19:41:29348검색

How Does the

jQuery에서 "this"는 무엇을 의미하나요?

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>

일반(엄격하지 않은) 모드에서 이러한 모든 호출은 this = 객체 유형을 반환합니다.

위 내용은 \"this\" 키워드는 jQuery와 JavaScript에서 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.