Evaluating Local Variables

프로그램 이야기 | 2006/12/29 07:30 | 낭만곰팅

Evaluating Local Variables

지역변수를 가장 명확한 scope로부터 그렇지 않은 방향으로 해석하는 scope chain에 근거하여 찾을 필요가 있다.
때로는 이런 symbolic look-up들은 여러 레벨을 통할수도 있다. 그리고 결국은 아주 고비용(성능에 대해서)이 되는 IE DOM에 대한 일반적인 쿼리로 끝난다.
가장 나쁜 시나리오는 변수가 아직 존재하지 않고 모든 scope chain을 조사하고, 단지 생성되는데 필요한 expando 변수만 찾을 뿐인 경우이다.

   function getLocalVariable() {
       localVariable = getValueFromDOM();
       return (localVariable +1);
   }

위의 샘플은 잘못 작성된 함수 이다. 여기서 localVariable을 function scope내에 선언 할려고 했지만 var 선언을 하지 않고 진행함으로써 결국 모든 scope에서 찾을 것이다.
만일 변수를 찾지 못한다면 새로은 global이 생성되고, 찾게 된다면 이미 존재하는 global이 사용 될 것이다.

이 새로운 변수는 이제 다른 함수에서도 접근가능하고 때로는 코드에서 이상한 현상을 발생시킬 수도 있다.


출처 : http://blogs.msdn.com/ie/archive/2006/08/28/728654.aspx

2006/12/29 07:30 2006/12/29 07:30

트랙백을 보내세요

트랙백 주소 :: http://www.hijava.net/trackback/12

댓글을 달아 주세요

  1. foomaru 2006/12/31 21:48

    2007년에도...

    새해 복 많이 받으세요~ ^^

[로그인][오픈아이디란?]
비밀글 (Serect)
댓글 달기 (Submit)