오늘 알아본 함수는 eval() 입니다.
eval( string ) 함수는 string 문자열을 자바스크립트 코드로 실행합니다.
???????????????? 이게 무슨말인가??
자바스크립트에서 자바스크립트 코드로 실행하는건 당연한거 아닌가?
예제를 보면 바로 이해가 되실껍니다.
예제)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var evalExam =''; evalExam += 'var date = "20";'; evalExam += 'alert("date 값은:" + date + " 타입은:"+typeof(date));'; eval(evalExam); </script> </body> </html> | cs |
실행결과)
evalExam은 스트링이죠
evalExam에 더하는 문자를 보면
var date = "20";
alert(~~~~~~~~-); 값이 들어값니다
만약 eval(evalExam) 이 아닌 alert(evalExam)을 실행했다면
결과값이 var date = "20" alert(~~~~~~~~~~~~~~~~~~~~~~~~~~~); 가 됩니다.
하지만 eval 함수를 통해 문자열을 자바스크립트 코드로 실행을 시켰습니다.