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

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

 



분류 제목
Global JS - String() 함수 ★ - 객체값을 문자열로 변환 [전역함수]
Global JS - unescape() 함수 - 인코딩된 문자열을 디코딩. 1.5 버전에서 폐기예고. decodeUR…
Conversion JS - Type Conversion (타입변환 = 타입변경) ★
Conversion JS - false 타입변환 - (숫자: 0 , 문자열: "false" , 참거짓: false)
Conversion JS - true 타입변환 - (숫자: 1 , 문자열: "true" , 참거짓: true)
Conversion JS - 0 타입변환 - (숫자: 0 , 문자열: "0" , 참거짓: false)
Conversion JS - 1 타입변환 - (숫자: 1 , 문자열: "1" , 참거짓: true)
Conversion JS - "0" 타입변환 - (숫자: 0 , 문자열: "0" , 참거짓: true)
Conversion JS - "1" 타입변환 - (숫자: 1 , 문자열: "1" , 참거짓: true)
Conversion JS - NaN 타입변환 - (숫자: NaN , 문자열: "NaN" , 참거짓: false)
Conversion JS - Infinity 타입변환 - (숫자: Infinity , 문자열: "Infinity" , 참거짓: …
Conversion JS - -Infinity 타입변환 - (숫자: -Infinity , 문자열: "-Infinity" , 참거…
Conversion JS - "" 타입변환 - (숫자: 0 , 문자열: "" , 참거짓: false)
Conversion JS - "20" 타입변환 - (숫자: 20 , 문자열: "20" , 참거짓: true)
Conversion JS - "twenty" 타입변환 - (숫자: NaN , 문자열: "twenty" , 참거짓: true)
Conversion JS - [ ] 타입변환 - (숫자: 0 , 문자열: "" , 참거짓: true)
Conversion JS - [20] 타입변환 - (숫자: 20 , 문자열: "20" , 참거짓: true)
Conversion JS - [10,20] 타입변환 - (숫자: NaN , 문자열: "10,20" , 참거짓: true)
Conversion JS - ["twenty"] 타입변환 - (숫자: NaN , 문자열: "twenty" , 참거짓: true)
Conversion JS - ["ten","twenty"] 타입변환 - (숫자: NaN , 문자열: "ten,twenty" , …
19/67
목록
찾아주셔서 감사합니다. Since 2012