이것이 논쟁할 때: 콜백 함수의 'this' 이해
JavaScript에서 함수 호출에서 this의 값은 다음에 의해 결정됩니다. 함수가 실행되는 컨텍스트입니다. 그러나 이를 인수로 전달하면 규칙이 복잡해질 수 있습니다.
구체적으로 다음과 같은 시나리오가 발생합니다. 콜백 함수가 인수로 전달될 때 왜 이 함수를 호출하는 함수로 설정되지 않습니까? 콜백?
'this'의 계층 구조 이해
이것이 왜인지 이해하려면 있는 위치에 설정되어 있으면 함수 호출의 계층 구조를 고려해야 합니다.
단, randomFunction이 콜백을 호출하기 전에는 이를 사용합니다. sumData.bind(this)를 사용하여 새 함수를 생성합니다(규칙 #5). 이 새로운 함수는 원래 콜백 함수를 호출하지만 이제 이 함수는 obj(bind에 전달된 인수)에 바인딩됩니다.
콜백 함수에 대한 의미
메서드를 전달할 때 콜백으로서 obj.method()로 호출되지 않는다는 점을 이해하는 것이 중요합니다. 이는 콜백 함수 내에서 올바른 값을 갖지 않음을 의미합니다. 이 문제를 해결하려면 바인딩()을 사용하여 콜백 내에서 이 값을 설정할 수 있습니다.
기타 유용한 참고 사항
위 내용은 \'this\'가 JavaScript 콜백의 호출 함수를 참조하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!