2016-10-30 2 views
2

첫 번째 게시물을 여기에 있습니다. 나는 왜 정말로 아래의 함수가 적절한 월/일/년 응답을 반환하지 않고 정확히 10을 반환하는지 궁금하다.월/일/연도 기능 문제

var 달에서 +1을 제거하면 1 달을 제외하고 모든 것이 올바른 것으로 반환된다. 뒤에.

나는 CS를 배우기 시작하고 어떤 도움을 많이 주시면 감사하겠습니다. 함수 외부에서이를 실행하면 정답을 반환합니다.

function todaydate() { 
var today = new Date(); 
var month = today.getMonth()+1; 
var day = today.getDate(); 
var year = today.getFullYear(); 
if (month < 10) { 
    month = "0" + month 
} else { 
    return month 
} 
return console.log(month + "/" + day + "/" + year) 
} 

이 질문은 기능을 실제로 실행하는 방법에 대한 더 많은 독자에게 도움이되기를 바랍니다.

편집 : 감사합니다 모두, 이것은 많은 의미가 있습니다. 나는 당신의 현명한 대답과 전망에 정말로 감사드립니다.

+0

'return month'은 함수를 빠져 나와 월을 반환합니다. return console.log ... undefined를 반환합니다. console.log는 undefined를 반환합니다 - 그래서 r else 블록을 모두 emove하고 console.log가 반환 한 값보다는 console.log에 전달한 값을 반환하십시오. –

+0

'return console.log ('...')'는 의미가 없습니다. 'else' 부분에서'month' 만 리턴합니다. 왜이 '다른'부분이 있습니까? – Xufox

+0

'그것은 모든 것을 올바르게 반환합니다 '- 아니요, 정의되지 않은 값을 반환하지만 콘솔에 메시지를 기록합니다 –

답변

0

else은 필요하지 않습니다. 이처럼 수행

또는 같은

function todaydate() { 
 
    var today = new Date(); 
 
    var month = today.getMonth() + 1; 
 
    var day = today.getDate(); 
 
    var year = today.getFullYear(); 
 
    if (month < 10) { 
 
    month = "0" + month 
 
    } 
 
    return month + "/" + day + "/" + year; 
 
} 
 

 
console.log(todaydate());
: 달 후> = 10이다

function todaydate() { 
 
    var today = new Date(); 
 
    var month = today.getMonth() + 1; 
 
    var day = today.getDate(); 
 
    var year = today.getFullYear(); 
 
    if (month < 10) { 
 
    month = "0" + month 
 
    } 
 
    console.log(month + "/" + day + "/" + year); 
 
} 
 

 
todaydate();

1

경우에 당신은 월을 반환

} else { 
    return month 
} 

그렇지 않으면 당신은

return console.log(month + "/" + day + "/" + year) 

반환을 console.log 아마 그래서 물론 함수가 일치하지 않는 물건을 반환

아무것도

을 반환하지 않습니다 반환합니다.

그러나 나는 또한 우수한 momentjs

http://momentjs.com/docs/를 사용하도록 권합니다

그것은 당신이 한 줄에 원하는 것을 할 수 있습니다

moment().format("DD/MM/YYYY"); 

그것은 처리하게 날짜와보다 쉽고 시간 consistent