JavaScript에서 호출자 함수의 행 번호 및 소스 URL 얻기
JavaScript 메서드가 호출된 행 번호와 소스 URL을 확인하면 디버깅 목적과 실행 흐름 추적에 유용합니다. 직접 내장된 메서드는 없지만 Error 개체의 스택 속성을 활용하여 이 정보를 검색할 수 있습니다.
발신자 함수 줄 번호 가져오기
얻으려면 호출자 함수가 호출된 줄 번호를 사용하면 Error 개체의 stack 속성을 구문 분석할 수 있습니다.
<code class="js">function getErrorObject() { try { throw Error(''); } catch (err) { return err; } } var err = getErrorObject(); var caller_line = err.stack.split("\n")[4]; var index = caller_line.indexOf("at "); var clean = caller_line.slice(index + 2, caller_line.length); console.log(clean);</code>
이 예에서는 호출 스택이 포함된 Error 개체를 검색하기 위해 오류를 발생시킵니다. 그런 다음 스택을 줄 바꿈으로 분할하고 일반적으로 호출자 함수 정보가 포함된 네 번째 줄(인덱스 3)을 선택합니다. 행 번호를 추출하기 위해 선행 "at" 문자열을 잘라냅니다.
호출자 함수 소스 URL 가져오기
안타깝게도 소스 URL을 얻을 수 있는 간단한 방법은 없습니다. 함수 자체 내에서 호출자 함수. 그러나 콘솔 로깅과 관련된 해결 방법을 사용할 수 있습니다.
<code class="js">function logCallerInfo() { console.log("%c", "color: white; background: #000; padding:2px; line-height: 1.5em;", err.stack.split("\n")[4]); } logCallerInfo();</code>
이 예에서는 콘솔 로깅을 사용하여 호출자 함수 정보를 사용자 정의 스타일로 표시합니다. 스택의 네 번째 줄(색인 3)에는 호출자 함수의 소스 URL이 포함되어야 합니다. 콘솔 출력을 검사하면 원하는 정보가 드러납니다.
이러한 방법은 호출자 함수 줄 번호와 소스 URL을 대략적으로 추정하는 방법을 제공하지만 모든 상황에서 완전히 신뢰할 수는 없다는 점에 유의하는 것이 중요합니다.
위 내용은 JavaScript에서 호출자 함수의 행 번호와 소스 URL을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!