30.7.07

JavaScript'de eval ve closure'un gucu

Kendi halinde basit bir fonksiyonumuz olsun:
function myEval(code) {
    return eval(code);
}
Simdi kendimize bir sayac yapalim:
var inject = 'var n=0; var f=function(){return n++}; f';
var sayac = myEval(inject);

alert(sayac()); // 0
alert(sayac()); // 1
alert(sayac()); // 2