parseInt()를 사용하여 문자열에서 숫자 값을 얻을 수 있습니다. 이는 종종 생략되지만 그렇게 해서는 안 되는 또 다른 기수 인수를 허용합니다. 문자열이 "0"으로 시작하면 문제가 발생할 수 있습니다. 예를 들어, 시간의 양식 필드를 입력할 때 ECMAScript 3에서는 "0"으로 시작하는 문자열이 8진수로 처리되지만 ECMAScript에서는 변경되었습니다. 5. 모순과 예상치 못한 결과를 방지하려면 항상 기수 매개변수를 지정하십시오.
var month = "05", year = "09"; month = parseInt(month, 10); year = parseInt(year, 10); alert(month); alert(year);
이 예에서 기본 매개변수(예:parseInt(year))를 무시하면 "09"가 8진수로 처리되므로(예:parseInt(year, 8 )), 09는 8진법에서 유효한 숫자가 아닙니다.
대체 메서드는 다음을 포함하여 문자열을 숫자로 변환하는 것입니다.
+"08" // 结果是 8 Number("08") // 8
이러한 방법은 이름에서 알 수 있듯이parseInt() 메서드가 단순히 구문 분석 및 변환 . 그러나 예를 들어 "08 hello"를 입력하려는 경우,parseInt()는 숫자를 반환하고, 그렇지 않으면 NaN으로 끝납니다.