묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
parseInt, parseFloat, eval 의 차이점이 무언인지요?
2003.03.13 18:59
수업과 연동되어 이제 막 공부를 시작하는데,
뭔소린지; 읽어봐도 모르겠더라구요;;
parseInt, parseFloat, eval
제가 과제를 하다 대입을 해본 결과 모두
결과는 같게 나왔거든요, 그래서 셋다
같은 기능을 하는 것인 줄 알았는데-
그게 아닌듯 하더라구요,
제가 한 과제는 다음과 같은 소스 인데요,
<script language="JavaScript">
a=prompt("첫번째 숫자를 입력하세요.",";")
b=prompt("두번째 숫자를 입력하세요.",";")
a=(parseInt(a))
b=(parseInt(b))
alert(a+"+"+b+"="+(a+b)+"n"
+a+"-"+b+"="+(a-b)+"n"
+a+"*"+b+"="+(a*b)+"n"
+a+"/"+b+"="+(a/b)+"n"
+a+"%"+b+"="+(a%b))
</script>
prompt()를 통해 입력된 수치는 문자로 인식되기 때문에
그걸 수치로 이해;시키기 위한 함수를 찾는 거 였거든요,
그런데 앞서 말씀드렸던 위의 세개 함수를
대입해도 식이 제대로; 성립이 되어 같은 기능인줄 알았는데;(앞의 말 번복중;;;)
그게 아니라고 하여, 차이점을 알고 싶습니다!!
뭔소린지; 읽어봐도 모르겠더라구요;;
parseInt, parseFloat, eval
제가 과제를 하다 대입을 해본 결과 모두
결과는 같게 나왔거든요, 그래서 셋다
같은 기능을 하는 것인 줄 알았는데-
그게 아닌듯 하더라구요,
제가 한 과제는 다음과 같은 소스 인데요,
<script language="JavaScript">
a=prompt("첫번째 숫자를 입력하세요.",";")
b=prompt("두번째 숫자를 입력하세요.",";")
a=(parseInt(a))
b=(parseInt(b))
alert(a+"+"+b+"="+(a+b)+"n"
+a+"-"+b+"="+(a-b)+"n"
+a+"*"+b+"="+(a*b)+"n"
+a+"/"+b+"="+(a/b)+"n"
+a+"%"+b+"="+(a%b))
</script>
prompt()를 통해 입력된 수치는 문자로 인식되기 때문에
그걸 수치로 이해;시키기 위한 함수를 찾는 거 였거든요,
그런데 앞서 말씀드렸던 위의 세개 함수를
대입해도 식이 제대로; 성립이 되어 같은 기능인줄 알았는데;(앞의 말 번복중;;;)
그게 아니라고 하여, 차이점을 알고 싶습니다!!
댓글 2
-
행복한고니
2003.03.13 20:56
-
다시
2003.03.14 00:28
감사합니다, 대강 이해가 되긴 하는데- 또 다른 질문인데요,
어떤 분인(딴곳에서) 제가 만든 스크립트에서 "+에만 문제가 생길 수 있다" 라고
말씀하셨는데 그게 어떤 뜻인지요? -_-;;;
parseFloat : float(실수) 형으로 자료형을 변경합니다.
eval : 문자열로 된 구문을 실행합니다.
# parseInt 예제
a = 10.5;
b = parseInt(a); //b = 10
# parseFloat 예제
a = "10.545"; //10.545 를 문자형으로 a 변수에 저장
b = parseFloat(a); //b = 10.545(실수)
# eval 예제1
a = 10;
eval("a = 20");
alert(a); //20을 출력.
# eval 예제2
eval("alert('Test')"); // Test 라는 문자열을 출력
# eval 예제3
alert2("test"); // alert2 라는 함수가 존재하지 않으므로 에러.
eval("function alert(string){ alert('String : ' + string); }");
alert2("test"); // String : test 를 출력
대강 이해가 되시는지...?