Friday, December 23, 2011

Javascript Eval() ya da başka bir deyişle; string'e değer olarak atanmış kodu çalıştırma

Çok basit bir konu olmasına rağman unutuyoruz ve "Kardeşim Evaluate işte.. Aratırım bu ifadeyi, çıkar cevabı karşıma.." diye düşünebiliyoruz ancak fonksiyon adını unutunca ve iş başa düşünce "ya bi değişkene atanan bir değerde kod var.. onu nasıl çalıştırabilirim ki" diye enteresan aramalar yapmaya çalışıyoruz. Bunun için yazma ihtiyacı hissettim;

JQuery harika. Tek kelimeyle dahiyane bir fikir. İlk yazanlara da geliştirenlere de helal olsun. Sırf JQuery var diye web sitelerimizin UI kısımları adama benzer oldu. Bir sürü gönüllü, yüce, cömert açık kaynak insanları da JQuery üzerine her geçen gün yeni yeni plug-in ler ekliyor. Hepsinin ayrı ayrı ellerine emeklerine sağlık.

Ancak bu güzel gelişmeye rağmen elbette ki, (ve hatta JQuery programlarken bile, doğal olarak) JavaScript kullanmaya devam ediyoruz ve edeceğiz de.

Dinamik programlama yapan herkesin de derdi bir şekilde hep aynı kapı: kod bloklarının havada üretilmesi ve çalıştırması (produce and execute code blocks at runtime).

İşte bir dinamik kod insanının JQuery programlarken ya da editlerken bile ihtiyacı olabilecek şifa gibi bir fonksiyondur kendisi

            Eval(var codeBlockScript)

İşlevi çok basit: JavaScript kodunu string bir değişkene yaz, sonra ver Eval()'e senin için çalıştırıversin:

 var codeBlockScript;  
codeBlockScript = "alert(";
codeBlockScript += "\"Bu bir dinamik mesajdır.\"";
codeBlockScript += ");";

Eval(codeBlockScript);

İşte bu kadar.

No comments:

Post a Comment