• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Global] JS - eval() 함수 ★ - 독립변수 평가실행. (= eval함수 = 이발 함수 = 이밸 함수) ※ JS가변변수(= JS동적변수 = JS유동변수) 생성.

목차

  1. eval() 예제 - 연산 결과를 변수에 할당
  2. eval() 정의
  3. eval() 구문
  4. eval() 예제 - 가변변수(= 동적변수 = 유동변수) 생성 ★
  5. 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

 

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 (한국어)

 



분류 제목
Conversion JS - function(){} 타입변환 - (숫자: NaN , 문자열: "function(){}" , 참…
Conversion JS - { } 타입변환 - (숫자: NaN , 문자열: "[object Object]" , 참거짓: tru…
Conversion JS - null 타입변환 - (숫자: 0 , 문자열: "null" , 참거짓: false)
Conversion JS - undefined 타입변환 - (숫자: NaN , 문자열: "undefined" , 참거짓: fal…
DOM_Attribute JS - Attribute Object -
DOM_Attribute JS - attribute.isId 속성 - 속성이 아이디유형인지 반환. (모든 브라우저 지원X)
DOM_Attribute JS - attr.name -
DOM_Attribute JS - attr.value - 요소 속성값 반환/설정 (= value속성 = 밸류속성)
DOM_Attribute JS - attr.specified -
DOM_Attribute JS - nodemap.getNamedItem() 메서드 -
DOM_Attribute JS - nodemap.item() 메서드 -
DOM_Attribute JS - nodemap.length -
DOM_Attribute JS - nodemap.removeNamedItem() 메서드 -
DOM_Attribute JS - nodemap.setNamedItem() 메서드 -
DOM_Attribute JS - attr.appendChild() 메서드 - 사용금지
DOM_Attribute JS - attr.attributes - 사용금지
DOM_Attribute JS - attr.baseURI - 사용금지
DOM_Attribute JS - attr.childNodes - 사용금지
DOM_Attribute JS - attr.cloneNode() 메서드 - 사용금지
DOM_Attribute JS - attr.firstChild -
20/67
목록
찾아주셔서 감사합니다. Since 2012