JavaScript에서 이는 현재 실행 중인 코드의 컨텍스트 개체를 가리키는 특수 키워드입니다. 함수 컨텍스트: 전역 개체 창을 가리킵니다. 메소드 컨텍스트: 메소드가 호출되는 객체를 가리킵니다. 생성자 컨텍스트: 생성되는 새 객체를 가리킵니다. 이벤트 리스너 컨텍스트: 이벤트를 트리거한 요소를 가리킵니다. 화살표 함수 컨텍스트: 상위 범위에서 이를 상속합니다.
JavaScript에서 this
의 역할this
在 JavaScript 中的作用
在 JavaScript 中,this
是一个特殊关键字,指向当前正在执行代码的上下文对象。它的值根据上下文而有所不同,因为它可以引用函数、方法或对象。
函数上下文
在函数上下文中,this
始终指向全局对象,即 window
对象。因此,在函数中访问 this
时,可以访问全局变量和函数。
<code class="js">function sayHello() { console.log(this); // 输出: Window {...} }</code>
方法上下文
在方法上下文中,this
始终指向调用该方法的对象。这允许方法访问对象的属性和方法。
<code class="js">const person = { name: "John", sayName: function () { console.log(this.name); // 输出: John }, };</code>
构造函数上下文
构造函数是用来创建和初始化对象的函数。在构造函数上下文中,this
指向正在创建的新对象。
<code class="js">function Person(name) { this.name = name; } const person1 = new Person("John"); console.log(person1.name); // 输出: John</code>
其他上下文
除了这些主要上下文外,this
还可以用作:
this
指向触发事件的元素。this
继承其父作用域中的 this
。注意事项
this
不指向全局对象。如果要访问全局对象,需要使用 window
对象。bind()
、call()
和 apply()
方法,用于显式设置或更改 this
this
는 현재 실행 중인 코드 컨텍스트 개체를 가리키는 특수 키워드입니다. . 함수, 메소드 또는 객체를 참조할 수 있으므로 해당 값은 상황에 따라 달라집니다. this
는 항상 전역 객체, 즉 window
객체를 가리킵니다. 따라서 함수 내에서 this
에 접근하면 전역 변수와 함수에 접근할 수 있습니다. 🎜rrreee🎜🎜메서드 컨텍스트🎜🎜메서드 컨텍스트에서 this
는 항상 해당 메서드가 호출되는 객체를 가리킵니다. 이를 통해 메소드는 객체의 속성과 메소드에 액세스할 수 있습니다. 🎜rrreee🎜🎜생성자 컨텍스트🎜🎜생성자는 객체를 생성하고 초기화하는 데 사용되는 함수입니다. 생성자의 컨텍스트에서 this
는 생성되는 새 객체를 가리킵니다. 🎜rrreee🎜🎜기타 컨텍스트🎜🎜이러한 기본 컨텍스트 외에도 this
를 다음과 같이 사용할 수도 있습니다. 🎜this
는 이벤트를 트리거한 요소를 가리킵니다. 🎜this
는 상위 범위에서 this
를 상속합니다. 🎜🎜🎜🎜참고🎜this
는 전역 개체를 가리키지 않습니다. 전역 개체에 액세스하려면 window
개체를 사용해야 합니다. 🎜bind()
, call()
및 apply()
메서드는 ES6에서 명시적으로 설정하거나 변경하기 위해 도입되었습니다.이것. 🎜🎜위 내용은 js에서 이것의 역할의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!