중첩 함수에서 이에 액세스: Unraveling var that = this;
JavaScript에서는 this의 범위와 가치를 이해하는 것이 중요합니다. 다음 코드 조각을 고려하세요.
function Somefunction() { var that = this; ... }
왜 이것이 선언되고 this의 값이 할당됩니까?
이 기술의 목적을 이해하기 위해 시나리오를 시각화해 보겠습니다.
var colours = ['red', 'green', 'blue']; document.getElementById('element').addEventListener('click', function() { // this points to the clicked element var that = this; colours.forEach(function() { // this is undefined within this inner function // that still refers to the clicked element }); });
forEach 콜백 내의 이는 클릭한 요소가 아닌 현재 배열 요소를 참조합니다. 그러나 이는 클릭한 요소에 대한 참조를 유지합니다.
중첩된 함수로 이동하면 이 범위가 변경되어 원래 값에 액세스하기 어려울 수 있습니다. 이를 별칭으로 지정하면 원래 값에 계속 액세스할 수 있습니다.
이를 별칭으로 사용하는 것이 항상 최적인 것은 아닙니다. 특히 복잡한 함수에서는 무엇을 가리키는지 명확하게 나타내는 보다 설명적인 별칭을 사용하는 것이 좋습니다.
위 내용은 중첩된 JavaScript 함수에서 `var that = this;`를 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!