eval() ±â´ÉÇÔ¼ö´Â Javascript Äڵ尡 ¸Â´Â°¡ Ʋ¸°°¡¸¦ °ËÁ¤ÇÏ°í ¼öÇàÇÑ´Ù.

eval(jsString)
Àμö
eval() : (°ËÁ¤, ¼öÇà ±â´ÉÇÔ¼ö)
ÇʼöÀûÀÎ Àμö·Î ÃÖ»óÀ§ ³»Àå ±â´ÉÇÔ¼öÀÌ´Ù.
jsString : (°ËÁ¤ÇÒ ¹®ÀÚ¿­)

¼±ÅÃÀûÀÎ Àμö·Î ±â´ÉÇÔ¼öÀÇ Àμö(argument)·Î ÁÖ¾îÁø ÄÚµå ¹®ÀÚ¿­·Î °ËÁ¤ÀÇ ´ë»óÀÌ µÈ´Ù.

jsStringÀº ¼±ÅÃÀûÀ̱â´Â ÇÏÁö¸¸, ¾øÀ¸¸é °ª "undefined"À» ¹ÝȯÇÑ´Ù.

Àμö´Â Javascript Äڵ尡 ¾Æ´Ï°í ¹®ÀÚ¿­ÀÓ¿¡ ÁÖÀÇÇ϶ó.

¼³¸í

°ËÁ¤ÇÏ´Â ¼ø¼­´Â

  1. Á¦°øµÈ jsString ¹®ÀÚ¿­ÀÌ Javascript·Î À¯È¿ÇÑ°¡¸¦ ¸ÕÀú °ËÁ¤ÇÑ´Ù.
  2. Javascript ÄÚµå·Î¼­ Çؼ®Çϱâ À§ÇÏ¿© ÆĽÌ(parse)ÇÑ´Ù.
  3. eval() ±â´ÉÇÔ¼ö´Â ÆÄ½ÌµÈ ³»¿ë¿¡¼­ Javascript ¹®Àå Äڵ带 ¹ß°ßÇϸé, ±× ³»¿ëÀ» ¼öÇàÇÏ°í,
  4. ±× °á°ú°ªÀÌ ÀÖÀ¸¸é, ±× °ªÀ» ¹ÝȯÇÑ´Ù(return).
Ư±â

jsStringÀº Javascript ¹®Àå, º¹¼öÀÇ ¹®ÀåµîÀÌ¸ç °³Ã¼(object)ÀÇ º¯¼ö¿Í ¼Ó¼º(property)À» °¡Áú ¼ö ÀÖ´Ù.

¹®ÀÚ¿­·Î ±¸¼ºµÈ Javascript ¹®ÀåÀ» Á÷Á¢ ½ÇÇà½ÃÅ°´Âµ¥ À¯¿ëÇÏ´Ù.



°£´ÜÇÑ eval() °ËÁ¤ ¿¹Á¦

<SCRIPT>
eval('document.write(12345)'); // ¹®Àå ¼öÇà, °á°ú Ãâ·Â
eval('document.write("<BR>")'); // ¹®Àå ¼öÇà, °á°ú Ãâ·Â(ÁٹٲÞ)
</SCRIPT>

eval()·Î º¹¼ö ¹®Àå °ËÁ¤ ¿¹Á¦

<SCRIPT>
eval('number1=1234; number2=5678; document.write("µ¡¼À °è»ê="+(number1+number2)+" | ")');
  // ¿©·¯ ¹®Àå ¼öÇà(°è»ê), °á°ú Ãâ·Â ¼öÇà, ¼öÄ¡°¡ ¹®ÀÚ¿­°ú °áÇÕÇÏ¸é ¹®ÀÚ¿­ÀÌ µÇ¹Ç·Î °ýÈ£·Î ¹­¾î ÁÖ¾î¾ß °è»êµÈ´Ù.
eval('number1=1234; number2=5678; document.write(number1+number2)');
  // ¿©·¯ ¹®Àå ¼öÇà(°è»ê), °á°ú Ãâ·Â ¼öÇà, ¹®ÀÚ¿­°ú °áÇÕÇÏÁö ¾ÊÀ¸¹Ç·Î °ýÈ£°¡ ¾ø¾îµµ °è»êµÈ´Ù.
eval('number1=1234; number2=5678; document.write("<BR>¹®ÀÚ¿­ °áÇÕ="+number1+number)');
  // ¿©·¯ ¹®Àå ¼öÇà(¹®ÀÚ¿­ °áÇÕ), °á°ú Ãâ·Â ¼öÇà
</SCRIPT>

Infinity, NaN °ËÁ¤ ¿¹Á¦

<SCRIPT>
eval('number1=1234; number2=5678; document.write(Math.pow(number1,number2)+"<BR>")');
  // ¿©·¯ ¹®Àå ¼öÇà(°è»ê), °á°ú Ãâ·Â ¼öÇà, °á°ú ¼öÄ¡°¡ ³Ê¹« Ä¿¼­ ºÎµ¿ ¼Ò¼öÁ¡À¸·Î Ç¥½Ã ÇÒ ¼ö ¾ø´Ù.
eval('number1="1,234"*100; document.write(number1)');
  // ¿©·¯ ¹®Àå ¼öÇà, °á°ú Ãâ·Â ¼öÇà, °á°ú´Â ¹®ÀÚ¿­°ú ¼öÄ¡¸¦ °öÇÏ¿´À¸¹Ç·Î ¼öÄ¡°¡ ¾Æ´Ï´Ù.
</SCRIPT>

for ·çÇÁ ¹®Àå °ËÁ¤ ¿¹Á¦

<SCRIPT>
eval('for(i=1;i<5;i++){ document.write("Loop A : "+i+"<BR>")}'); // ¿©·¯ ¹®Àå ¼öÇà, °á°ú Ãâ·Â(À§ 4ÁÙ) ¼öÇà
document.write(eval('for(i=1;i<5;i++){ i+" Loop B<BR>"}')); // ¿©·¯ ¹®Àå ¼öÇà, °á°ú Ãâ·Â, ¸ðµÎ ¼öÇàÇϳª ¸¶Áö¸· ÇÑÁÙ¸¸ Ãâ·Â
</SCRIPT>

eval ±â´ÉÇÔ¼ö·Î Date, for ·çÇÁ ¿¹Á¦

µû¿ÈÇ¥ ¾ø´Â eval(for (i=0;i<20;i++) document.write(i+", "))´Â ¿À·ù°¡ ¹ß»ýµÈ´Ù.
<SCRIPT>
eval('document.write(mydate=new Date())'); // Date °³Ã¼¸¦ Æ÷ÇÔÇÏ´Â mydate º¯¼ö¸¦ »õ·Î ¸¸µç´Ù.
document.write(' = '+mydate);

eval('for (i=0;i<20;i++) document.write(i+", ")'); // for ·çÇÁ¸¦ ¼öÇàÇÑ´Ù.
// eval(for (i=0;i<20;i++) document.write(i+", ")) ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¹Ç·Î ¿À·ù ¹ß»ý
</SCRIPT>

onClick À̺¥Æ®·Î for ·çÇÁ ±â´ÉÇÔ¼ö¸¦ È£ÃâÇÏ¿© °ËÁ¤ÇÏ´Â ¿¹Á¦

Ŭ¸¯ÇÏ¿© °á°ú¸¦ º¸¶ó.
<SCRIPT>
function checkit(){
  var str=''; // ¹®ÀÚ¿­ º¯¼ö ¼±¾ð
  var sqr=cum=0; // ¼öÄ¡ º¯¼ö ¼±¾ð
  for (i=1;i<=10;i++){ // 1¿¡¼­ 10±îÁö 1¾¿ Áõ°¡½ÃÅ°´Â ·çÇÁ
    sqr=i*i;   // Á¦°ö
    cum+=sqr;  // Á¦°ö°ª ´©Àû
    str+='['+i+']ÀÇ Á¦°ö°ª='+sqr+' ´©Àû='+cum+'<BR>'; // Ãâ·Â ¹®ÀÚ¿­À¸·Î °áÇÕ
  } // ·çÇÁ Á¾·á
  eval('showArea.innerHTML=str'); // id=showArea ÀÎ °³Ã¼¿¡ Ãâ·Â(HTML ű׷Π³Ö¾î ÁÜ)
} // ±â´ÉÇÔ¼ö Á¾·á
</SCRIPT>

<DIV id=showArea style="border:solid 1 blue;background:white;width:200;padding:5" title="°á°ú"
  onClick="checkit()">Ŭ¸¯ÇÏ¿© °á°ú¸¦ º¸¶ó.</DIV>

µû¶ó¼­ Javascript ¹®ÀåÀ» ¼öÇàÇÏ°Ô Çϴµ¥¿¡µµ ¸¹ÀÌ »ç¿ëµÈ´Ù.