我有一个变量,里面有指令,例如:
runThis= "alert(); if(1>2) { alert("NO WAY");}";
如何在 runThis 中运行代码?
eval(runThis);
但是你不应该这样写代码,它很难管理。
改为这样做:
runThis= function () {
alert();
if(1>2) {
alert("NO WAY");
};
}
然后只需调用 runThis
这样做的肮脏方法是
eval(runThis);
但是,根本不建议这样做。
或者,将其包装在一个函数中
runThis = function(){
// statements go here
}
然后你可以调用它runThis();
如果你真的想做这种事情,你可以使用 eval() 函数:
eval(runThis);
但是,这不是推荐的方法,因为它可能导致各种难以诊断的错误和错误
更好的方法是使用您希望执行的代码编写适当的函数,然后将其分配给变量并通过变量调用它:
//Assign function to variable
runThis = function(){
alert();
if(1>2) {
alert("NO WAY");
};
}
//Later, invoke the function
runThis();
code = "alert('test');";
eval(code);
警告:这是一种可怕的做法!不要这样做!
eval(runThis);
一旦你正确地逃避了你的内心报价。
eval(runThis);
但不建议这样做。只要记住eval() is evil
。
Eval 将执行一个字符串,但您最好按如下方式定义 run this。并像任何函数一样调用它。
var runthis = function(){
//code here
}
但是如果你需要执行一个字符串调用 eval。
评估(运行此);