본문 바로가기
IT/자바스크립트

Eval : 문자열 코드 사용

by 불멸남생 2023. 2. 7.

내장 함수 eval을 사용하면 문자열 형태의 코드를 실행할 수 있습니다.

 

eval(code)을 호출하면 문자열 형태의 code가 실행되는데 이때 마지막 구문의 결과가 반환됩니다.

모던 자바스크립트엔 eval을 대체할 수 있는 문법이 많기 때문에, 모던 자바스크립트를 사용하는 코드에선 eval을 잘 사용하지 않습니다.
eval을 이용해 만든 코드는 외부 지역 변수에 접근할 수 있는데, 이는 좋지 않은 방법입니다.
전역 스코프에서 eval을 사용하지 말고, window.eval(code)을 이용하세요.
외부 스코프에 있는 데이터가 필요하다면 new Function의 인수에 코드를 전달해 사용하시면 됩니다.

 

문법)

let result = eval(code);

let result = eval(code).(전달인자);

 

예)

eval("alert('메세지')");

 

응용)

eval() 이용한 동적 이벤트 등록

 

* 설명

Class "leftmenu" 곳에서 클릭 이벤트가 발생하였을 경우 Functionname 함수가 실행이 .

 

* 사용처

이벤트를 공통으로 처리 해야할 경우 사용할수 있음.

 

* 소스

<div class="leftmenu">

    <ul>

        <li><a href="url1"></li>

        <li><a href="url2"></li>

        <li><a href="url3"></li>

    </ul>

</dev>

...

$(".leftmenu").on("click", function(evt){

    eval("functionname")(evt);

}

...

Function functionname(evt){…

    Alert("function 실행됨.");

}

반응형