JavaScript의 호출자 함수 식별
JavaScript에서 함수의 caller 속성을 사용하면 함수를 호출한 함수의 이름을 검색할 수 있습니다. . 그러나 이 속성은 더 이상 사용되지 않는 것으로 간주되어 더 이상 권장되지 않습니다.
function main() { Hello(); } function Hello() { // How do you find out the caller function is 'main'? }
콜 스택 찾기
콜 스택을 확인하려면args.callee를 사용할 수 있습니다. .caller.toString()이지만 이 역시 더 이상 사용되지 않습니다. 이 솔루션은 비표준이며 모든 브라우저 또는 JavaScript 구현에서 작동하지 않을 수 있습니다.
사용되지 않는 솔루션
function Hello() { alert(`caller is ${arguments.callee.caller.toString()}`); }
최신 솔루션
더 현대적인 솔루션은 새로운 솔루션을 사용하는 것입니다. Error().stack.
function Hello() { console.log(new Error().stack); }
이것은 호출자 함수 이름을 포함하는 스택 추적을 출력합니다.
중요 참고:
호출자 속성과 인수.callee.caller.toString()은 더 이상 사용되지 않으며 프로덕션 코드에 사용하면 안 됩니다. 호출 스택을 얻으려면 항상 새로운 Error().stack 솔루션을 사용하십시오.
위 내용은 JavaScript에서 호출자 함수를 어떻게 안정적으로 식별할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!