내장 함수 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 실행됨.");
}
'IT > 자바스크립트' 카테고리의 다른 글
[자바 스크립트] text() 사용시 개행처리 (0) | 2023.04.06 |
---|---|
jsp ajax로 https 에서 http 호출 (0) | 2023.03.09 |
jsp에서 ajax로 callback받는 방법 (0) | 2023.03.07 |
자바스트립트에서 while을 이용한 약수와 약수 갯수 구하기 (0) | 2023.02.17 |
location.href VS location.replace (0) | 2023.02.08 |