function executer(text){
var result = eval(text);
}
executer("var _sc_a=5");
executer("_sc_a>6");
执行器的第二次调用返回我一个“未定义”的结果,这是因为在第二次调用中,eval 不知道它_sc_a=5
被初始化了吗?我应该如何让执行者的第二次调用知道第一次调用?
更新:我正在开发的项目是一个基于 C++ Web 的翻译器,它能够评估条件表达式、跟踪变量值并显示解释器读取流程(循环语句)
我有一个next
按钮,可以在用户单击时逐步翻译/评估/执行片段next
fragment[0]="var a=0,b;";//already translated from "int a=0,b;"
fragment[1]="a=5;";
fragment[2]="((a>1)&&(a<10));";
$('#next').click(function(e) {
//setting of ctr here to decide which fragment element should be called
current(fragment[ctr]);
});
function current(text){
try{
eval(text);
}
catch(err){
alert("Eval error found");
}
}