2012-07-11 5 views
2

다른 함수에서 호출하는 함수가 있습니다. "checked"라는 변수를 반환하지만 그 이름은 전역 변수가 아니며 해당 함수의 범위 내에 있습니다.가변 범위 : 함수간에 이름이 전달됩니까?

내 다른 기능은 '확인'라는 자신의 지역 변수를 가지고,하지만 난 1로 설정하려고하면 항상 내가 내 첫 번째 함수에 함수 호출을 제거하면 그 다음 도착 것을 발견 0

반환 올바른 값.

두 변수의 범위가 해당 함수의 로컬 변수 일 때 어떻게 될 수 있습니까? 당신이 var 키워드를 잊었 때문에 "확인"

function filterRadioCheck() 
    { 
     checked = 0; 
     $('#filterType').children('input').each(function() { 


      if ($(this).attr('checked')) 
      { 
       checked = $(this).attr('value'); 
      } 

     }); 


     return checked; 

    } 

    function setTagDefaultMode() 
    { 
     checked = 1; 


     radiocheck = filterRadioCheck(); 

     //******'checked' is always 0 after this point*****/// 
     // alert(checked) will return 0 even though checked it is set to 1 above; 

    } 
+0

http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html – jbabey

답변

5

변수는 글로벌입니다.

var checked = 0; 
+0

나는 것을 알고 밖으로 여기까지 만들 었는지 모른다. 무리 감사! –