2011-03-19 3 views
2

저는 JQuery를 처음 접했습니다. 다음 함수를 작성 했으므로 콘솔에 작성된 배열을 볼 수 있으므로 함수가 올바르게 작동한다는 것을 알 수 있습니다. 내 질문은 어떻게 함수 밖에서 배열을 사용합니까? return arr을 삽입하려고했습니다. 함수의 끝에,하지만 난 그냥 배열 값에 액세스 할 수없는 것!배열을 JQuery 함수 밖으로 가져 오기

function css_ts() { 
    arr = []; 
    $('.timeslot').each(function(){ 
     var bid = $(this).children("input[type='hidden']").val(); 
     if (bid > 0) { 
      $(this).css('background-color','blue'); 
      arr.push(bid); 
     } 
     else 
     { 
      $(this).css('background-color','#ececec'); 
     } 
    }); 
    console.log($.unique(arr)); 
} 
+0

어떻게 반환 값을 사용하려고합니까? 그 코드를 여기 게시 할 수 있습니까? – Dogbert

+0

코드는 예약 시스템의 일부이며 반환 값은 예약 ID입니다. 그 날은 15 분짜리 세그먼트로 분류되며 위의 코드는 그 안에 예약 된 모든 세그먼트를 찾습니다. 현재 각 15 분 세그먼트는 테두리가있는 div 요소입니다. 예약이 1 시간 지속된다면 하나 이상의 div가 동일한 값을 가질 수 있습니다. 그렇다면 4 개의 div 요소를 결합하여 보도록하십시오 (예 : div를 테두리 사이에 지우도록 CSS를 변경). 따라서 반환 된 배열을 반복하여 15 분 이상 경과 한 후 CSS를 적용하는 예약을 찾으십시오. – Dan

답변

1
  1. arr는 암시 적 세계이다.

    return arr; 
    

    은 다음과 같이 사용 :

    var arr = css_ts(); 
    
  2. var arr = []; 
    
  3. 이 함수의 끝에 다음 줄을 추가 : 변수를 초기화/선언 할 때 당신은 항상 var를 사용해야합니다

0

arr []를 함수 내부 또는 함수 외부에 선언 했습니까? 함수 안에서 변수를 작성했다면 변수의 범위 때문에 다른 변수가이 변수를 볼 수 없습니다. 함수 외부에서 선언을 이동하고 시도하십시오. 이게 도움이 되길 바란다.

1

arr = []; 앞에 var을 추가하면이 기능으로 인해 로컬 기능을 사용할 수있게되고 결국 다시 되돌릴 수 있습니다. 당신이 var 키워드를 생략했기 때문에 css_ts 내부

+1

전역 변수 일지라도 반환 할 수 있지만 전역 변수에 대한 참조를 반환합니다. 다음과 같이 설명해야합니다 :'var val = (function() {return test = "3"}))(); val === window.test // true' –

관련 문제