반응형




eval() 함수는 인자로서 문자열을 받아 숫자로 변환하여 결과값을 돌려준다. 이때 문자열은 자바 스크립트 표현식, 문장이나 여러 문장을 표현하는 임의의 문자열일 수도 있으며 표현식은 변수와 존재하는 개체의 특성을 포함할 수 있다.



예를 들어 "1+2"란 문자열을 eval()함수에 넣으면 2+3의 결과값인 숫자 5를 돌려주게 된다.

만약 인자가 표현식을 표현한다면 eval()은 표현식을 평가하며, 만약 인자가 하나 이상의 자바 스크립트 문장을 표현한다면 eval()은 그 문장을 수행한다.



다음의 예는 텍스트 필드에 계산식을 입력하여 eval() 함수에 적용시킨 뒤 다른 텍스트 필드에 결과를 출력하는 것이다.

예를 들어 "(1+2+3)/2"와 같은 형식의 식을 입력한 후 우측의 계산 버튼을 누르면 결과값 3이 나타날 것이다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
 
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <h2>eval 함수를 이용한 예제</h2>
        <script>
            function compute(obj){
                obj.result.value = eval(obj.expr.value)
            }
        </script>
        <center>
            <form class="left" name="evalform">
                <table border="1" cellpadding="3" cellspacing="0" width="60%">
                    <tr>
                        <th>계산식 입력</th>
                        <td><input type="text" name="expr" size="20"></td>
                        <td rowspan="2"><input type="button" value="계산" onclick="compute(this.form)"></td>
                    </tr>
                    <tr>
                        <th>결과</th>
                        <td><input type="text" name="result" size="20"></td>
                    </tr>
                </table>
            </form>
        </center>
    </body>
</html>
 
 
cs












반응형
Posted by 제3인생자
l