2011-04-12 9 views
2

이 작동하지 않을 수 있습니다. current_times.getMinutes이자바 스크립트 전역 변수를 사용하여

참고 확신이 도움이 함수가 아니라 시간의 기능은 신체 부하에서 시작되는 함수에서 호출되어지고

var current_times = new Date(); 
var future_times = new Date(); 

function time(){ 
current_times = current_times.setMinutes(current_times.getMinutes()); 
future_times = future_times.setMinutes(future_times.getMinutes() + 1);  
} 

오류 메신저입니다.

+2

이 코드에 문제가있을 수 있습니다. 어떤 브라우저를 사용하고 있습니까? 예상했던대로 Chrome에서 문제를 재현 할 수 없습니다. –

+1

1. 붙여 넣은 특정 코드가 작동합니다. 2. getMinutes()에 setMinute를 설정하지 마십시오. 왜 그랬니?! – Khez

+1

완전한 비 작동 코드 샘플을 게시하십시오. – Hamish

답변

5

setMinutesDate 개체가 아니라 숫자를 반환합니다.

이 함수는 처음 호출 할 때 작동하지만 두 번째 호출 인 current_timesfuture_times은 숫자이므로 getMinutes 함수가 없습니다. setMinutes()Date 개체를 새로 만드는 대신 수정하므로 해결 방법은 변수를 다시 할당하지 않는 것입니다. 내가 제대로 당신의 의도를 이해한다면


또한, 코드를 단순화 할 수 있습니다 Box9

var current_times, future_times = new Date(); 

function time() { 
    current_times = new Date(); 
    future_times.setMinutes(current_times.getMinutes() + 1); 
} 
+0

좋은 캐치, 나는 어쩌면 그가 네임 스페이스에서 그 변수를 선언하고 그들의 전역 성을 무효로하고 있다고 생각했다. – Khez

0

코드를 잘 지만으로는 내부 변수를 지정해야합니다 코드

를 입력 함수 이렇게 되야합니다 '

function time() { 
    var current_times = new Date(); 
    var future_times = new Date(); 

    current_times = current_times.setMinutes(current_times.getMinutes()); 
    future_times = future_times.setMinutes(future_times.getMinutes() + 1);  

    document.write(current_times); 
    document.write("<br>"+future_times); 
} 
관련 문제