오늘도 지친몸을 이끌고 출근..

어제 수정한 페이지의 검색을 눌러본다. 


오잉, 09시 ~ 10 시의 데이터가 나와야 하는데 어째서 09 ~ 01 로 검색이 되는걸까?

소스코드를 본다. 



alert 창을 띄워보니 parseInt(startTime) 이 0으로 나온다. 


이유는 startTime 이 0으로 시작하는 00~09시 였기 때문!


parseInt 는 원래 parseInt(숫자, 진수)로 매개변수를 2개 줘야한다. 

진수가 없이 parseInt(숫자)일 땐 기본적으로는 10진수로 인식하지만

숫자가 0x 로 시작하면 16진수, 0으로 시작하면 8진수로 인식한다고 한다. 

그래서 parseInt(숫자가) 오전에는 0으로 나오니까 


당연히 endTime 이 0+1인 1로 나와서 검색이 안됐다는 말씀. 


해결 방법은 



이렇게 parseInt(시간, 진수) 형식으로 적어주면 된다. 


숫자로 바꾸는 js 메서드는 parseInt 외에도 number 가 있다. 


둘의 차이는 parseInt 는 숫자+다른 값이 붙어도 숫자만 인식하고 


Number 는 숫자만 인식한다는 점. 


그리고 앞서 말했듯, parseInt 는 매개변수가 원래 2개, Number 는 하나라는 점.


이제 한달 차 신입이라서 알던것도 모르겠고 모르는건 더 모르겠다. ㅠㅠ 

앞으로도 새로 알게 된 사실이나 코딩하면서 주의해야 할 점들을 꾸준히 적어야겠다 :)


참고:

http://www.w3schools.com/jsref/jsref_parseInt.asp

http://www.w3schools.com/jsref/jsref_number.asp