eval() fonksiyonu verilen bir karakter katarının javascript ifadesi olarak yorumlanmasını sağlar. Yani verilen karakter katarını javascript ifadesine çevirir. Özellikle ajax tekniğinin kullanılmaya başlanmasıyla eval fonksiyonuna daha çok başvurur olduk. Ajax ile çağırılan bir sayfada javascript çıktısı vermek için yine eval fonksiyonuna başvuruyoruz. Hemen bir örnek yazalım.
KOD:<script language="javascript">
var katar = 'alert("Selamun Aleyküm")';
eval(katar);
document.write('alert("Selamun Aleyküm")');
document.write(katar);
</script>
Yukarıdaki kodu çalıştırdığınızda eval() fonksiyonunun görevini daha iyi anlayacaksınız. Karakter katarını eval ile çağırdığımızda karakter katarından javascript çıkıtısı alırız. Yani sayfamızı açınca ekranda alert ile verdiğimiz uyarı penceresi açılır ve "Selamun Aleyküm" yazar. Ekrana direk document.write ile yazdığımız yada katar değişkenini document.write kullandığımızda karakter katarı düz metin olarak yorumlanır.
eval fonksiyonu aynı zamanda karakter katarını sayısal bir ifadeye de çevirebilir. Bunun içinde bir örnek yapalım:
KOD:<script language="javascript">
var sayi = "5";
var sayi1 = "10";
document.write("sayi + sayi1 <br>");
document.write(sayi + sayi1 + "<br>");
document.write(eval(sayi) + eval(sayi1));
</script>
Bu kodu çalıştırdığınızda eval fonksiyonunun karakter katarını sayısal bir ifadeye çevirdiğini göreceksiniz. İlk satırda document.write ile çift tırnak içerisine aldığımız değişkenler haliyle düz metin olarak yorumlanır. İkinci satırda ise + operatörü iki değişkeni birleştirir ve ekrana iki değişkenin birleşmesiyle olusan sonucu yazdırır. Yani eğer değişkenimiz şu şekilde olsa idi:
KOD:var sayi = "altay";
var sayi1 = "alp";
olsa idi + operatörü ekrana altayalp yazardı. eval ise karakter katarını sayısal ifadeye çevirdi ve bize sayi, sayi1 değişkenlerinin aritmetik olarak toplamını verdi.
eval fonksiyonu dizilerle kullanıldığında bir dizi değişkenini karakter katarına çevirir.
KOD:<script language="javascript">
var liste = new Array("php", "asp", "perl", "python");
document.write(eval(liste));
</script>
Bu kodu çalıştırdığınızda
KOD:php,asp,perl,python
şeklinde bir çıktı alırsınız. Hepinize kolay gelsin.