eval()
- 문자열로 된 코드를 실제 코드로 변경할 때 사용한다.
<script type="text/javascript">
function calcu(){
var calStr = document.querySelector("#calStr").value
document.querySelector("#show").innerText = calStr+"="+eval(calStr)
}
</script>
연산식을 입력하세요:<input type="text" id = "calStr" >
<input type='button' value='계산' onclick="calcu()"/>
<h2 id= "show"></h2>
## eval() 함수 응용 - 계산기 만들기
1. 게산기 형태의 화면 구성하기 : table
2. 각 항목별로 클릭시, 전달될 이벤트 핸들러 함수 설정
3. 이벤트 핸들러 함수
1) 매개변수를 통해 클릭한 문자열 전달
2) 계산식을 출력한 내용 상단 cell에 출력(문자열 누적)
3) 계산식 버튼(cell) 중 = 클릭 시, eval 함수를 통해 결과값 출력처리
<body>
<h2>계산기</h2>
<table id = "tab01" style="width : 50%; height:70%" >
<col width = "25%"><col width = "25%"><col width = "25%">
<tr><td style="height:20%; text-align: right" colspan="4">0</td></tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
<td>+</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
<td>-</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>*</td>
</tr>
<tr>
<td>C</td>
<td>0</td>
<td>=</td>
<td>/</td>
</tr>
</table>
</body>
<script type="text/javascript">
var tds = document.querySelectorAll("#tab01 td");
for(var idx=0;idx<tds.length;idx++){
tds[idx].onclick = function(){
if(tds[0].innerText=='0') tds[0].innerText = ""
if(this.innerText=='=') {
tds[0].innerText=eval(tds[0].innerText)
}else{
tds[0].innerText+=this.innerText
if(this.innerText=='C') tds[0].innerText = "0"
}
}
}
</script>