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

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

 



분류 제목
DOM_Attribute JS - attr.isId -
DOM_Attribute JS - attr.name -
DOM_Attribute JS - attr.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() 메서드 -
Window_Console JS - console.assert() 메서드 - 표현식이 FALSE인지 확인 (= 표현식 거짓 여부 체크 …
Window_Console JS - console.clear() 메서드 - 콘솔 지우기 (=콘솔창 청소 = console.clear메…
Window_Console JS - console.count() 메서드 - 콘솔창에서 카운트하기 (= 숫자 세기 = console.co…
Window_Console JS - console.error() 메서드 - 콘솔창에서 에러메시지 띄우기 (= console.error메…
Window_Console JS - console.group() 메서드 - 콘솔에서 메시지 그룹 생성 시작 (= console.grou…
Window_Console JS - console.groupCollapsed() 메서드 - 콘솔에서 접힌/축소된 메시지 그룹 시작 지정…
Window_Console JS - console.groupEnd() - 메시지 그룹의 끝/종료 지점 지정 (= console.grou…
Window_Console JS - console.info() 메서드 - 콘솔에 메시지 쓰기 (= console.info메서드 = 콘솔…
Window_Console JS - console.log() 메서드 - 콘솔에 메시지 쓰기 (= console.log메서드 = 콘솔로그…
Window_Console JS - console.table() 메서드 - 콘솔에 테이블 쓰기 (= console.table메서드 = …
Window_Console JS - console.time() 메서드 - 콘솔창에서 타이머 시작 (= console.time메서드 = …
23/67
목록
찾아주셔서 감사합니다. Since 2012