메뉴 건너뛰기

관리자2020.11.24 09:00
parseInt에 대해 알 고 있는 분이군요. 좋은 질문입니다.
1. 그런데 만일 다음 코드 후
get=prompt("정수를 입력하세요","");

사용자가 "hello"라고 입력하였다고 합시다.
parseInt(get) 하면 여기서 오류가 나서 프로그램 실행이 종료하게 되지요.

그래서 오히려 다음 조건문을 사용합니다.
if(isNaN(get)){

즉 get에 들어 있는 내용이 숫자인지 숫자가 아닌 문자열인지를 판단합니다.
만일 숫자가 아닌 문자열인 경우 다음의 오류 메시지를 출력하고
document.write("입력 오류 입니다.");

for 반복문이 실행되지 않게 합니다.

2. 또 이런 의문을 품을 수 있겠군요.
그러면 다음 for 문안에서 get은 문자열인데 정수 값을 가진 변수 i와 get이 어떻게 비교될 수 있나요?
for(var i=0; i<get; i++){

이것도 좋은 의문입니다.
이 코드가 실행되는 시점에서 get은 분명히 숫자의 문자열 입니다("5"와 같이).
자바스크립트는 타입의 경계를 엄격하게 체킹하지 않고(loosely typed) 숫자를 가진 문자열의 경우 숫자와 같이 다룹니다.
정말 정확히 코드를 작성하려면 다음과 같이 하면 됩니다.
k = parseInt(get)
for(var i=0; i<k; i++){

for(var j=0; j<=i; j++){

document.write("*");

}

document.write("<br>");

}
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
위로