함수를 호출하면 해당 호출에 대해 로컬 범위가 설정됩니다. 해당 범위를 객체로 직접 참조 할 수있는 방법이 있습니까? 윈도우와 마찬가지로 전역 범위 객체에 대한 참조입니다.JavaScript : 함수 로컬 범위를 객체로 참조하십시오.
예 :
function test(foo){
var bar=1
//Now, can I access the object containing foo, bar, arguments and anything
//else within the local scope like this:
magicIdentifier.bar
}
다른 방법으로는, 사람이 사용자 정의 변수의 상단에있는 로컬 범위에서 무엇의 전체 목록이 있습니까?
배경 : 함수 호출 내에서 전역 범위로 완전히 이동하는 방법을 배우려는 중이므로 with 문은 농담이며 호출이 조금 더 잘 작동하지만 여전히 함수에서 선언 된 항목은 중단됩니다. 범위가 아니라 전 세계적인 범위에 있기 때문에 이러한 몇 가지 사례를 전 세계적인 범위에서 선언 하겠지만 그 내용은 내가 무엇인지 알고 있어야합니다. IE 함수 execScript는 완전한 시프트를 만들지 만 IE의 문제 만 해결합니다.
참고 : JavaScript를 동적으로로드하는 모든 사용자에게 setTimeout(code,1)
은 글로벌 범위를 달성하는 간단한 효과적인 해킹이지만 즉시 실행되지는 않습니다.
함수 내부에서'foo' 인수를 포함하는 객체에 액세스해야하는 이유는이 객체를 직접 인수로 전달하지 않는 이유는 무엇입니까? –