2009-12-10 3 views
0

함수에 정의 된 변수를 찾는 방법

function test() { 
    var x; 
    var a; 
    ... 
    ... 
    ... 
    ... 
    ... 
} 

과 같은 긴 자바 스크립트 함수가 있다고 가정하면 함수 자체에 지금까지 정의 된 변수가 무엇인지 묻는 방법이 있습니다.

function test() { 
    var x; 
    var a; 
    ... 
    ... 
    ... 
    ... 
    ... // bit of code that would say to me: x and a. 
} 
+0

궁금한 점이 있나요? 감사합니다 –

+0

자바 스크립트 코드가 자동 생성되었습니다. 내 질문에 대한 답을 알고 있다면 함수의 끝에 코드 생성기가 만든 일부 가정을 검증하는 코드를 추가 할 수있을 것이다. – lorenzo

+0

나는 이것이 가능했다. 오, 나는 그렇게 바란다. –

답변

1

아니요, Function#toString에 의존하지 않고 결과에 문자열 처리를 수행하지 않는 것이 좋습니다. Function#toString은 대부분의 브라우저에서 기능의 소스 코드 (주석의 유무에 관계없이)를 제공하지만 스펙 (심지어 최신 버전)으로 표준화되지 않았기 때문에 프로덕션 코드에서는 사용하지 않을 것입니다.

+0

동의 함 .toString에 의존하고 싶지 않다. 도움을 주셔서 감사합니다. – lorenzo

1

리플렉션이 필요합니다. 하지만 Javascript는 반사 효과가 거의없이 제공됩니다. 나는 당신이 이것을 할 수 있다고 생각하지 않는다 : 당신 자신의 함수를 파싱하라.