목차
- eval() 예제 - 연산 결과를 변수에 할당
- eval() 정의
- eval() 구문
- eval() 예제 - 가변변수(= 동적변수 = 유동변수) 생성 ★
- eval() 관련 주소
eval() 예제 - 연산 결과를 변수에 할당
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
var x = 3;
var y = 4;
var a = eval("x * y") + "<br>"; // 12
var b = eval("3 + 3") + "<br>"; // 6
var c = eval("x + 7") + "<br>"; // 10
var res = a + b + c;
document.getElementById("demo").innerHTML = res;
}
</script>
결과보기
PS. 관련 예제 - 플래토 님 (210930) https://sir.kr/qa/432980
eval() 정의
매개변수로 오는 문자열로 표현되는 JS 코드를 평가/실행.
1.
인수엔 문자열이나 표현식이 올 수 있는데,
인수가 표현식인 경우 표현식을 평가/실행.
2.
인수가 하나 이상의 JS 구문인 경우 구문을 실행.
주의: 위험한 함수이니 사용 비권장. (맨 아래 mdn eval 강의 참고)
3.
모든 브라우저 지원
4.
ECMAScript 1
eval() 구문
eval(string)
[매개변수]
string
필수. JS 표현식 (예: 변수, 구문, 구문의 연결 등)
eval() 예제 - 가변변수(= 동적변수 = 유동변수) 생성 ★
[예제1] - eval() 함수 이용해 hz1 ~ hz3 변수 생성하기
<script>
console.clear();
var h = 'hz';
for(var i = 1; i < 4; i++) {
eval('var ' + h + i + '= ' + i + ';');
console.log(eval(h + i));
}
</script>
결과보기
결과값:
1
2
3
[예제2] - window 객체 이용해 hz1 ~ hz3 생성하기
<script>
console.clear();
var h = 'hz';
for(var i = 1; i < 4; i++) {
window[h+i] = + i;
console.log(window[h+i]);
}
</script>
결과보기
결과값:
1
2
3
https://www.geeksforgeeks.org/how-to-use-dynamic-variable-names-in-javascript/
관련글: https://sir.kr/qa/375686
eval() 관련 주소
mdn eval 강의
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval (영어)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/eval (한국어)