0

我有一个变量,里面有指令,例如:

runThis= "alert(); if(1>2) { alert("NO WAY");}";

如何在 runThis 中运行代码?

4

7 回答 7

3
eval(runThis);

但是你不应该这样写代码,它很难管理。

改为这样做:

runThis= function () {
  alert(); 
  if(1>2) { 
    alert("NO WAY");
  };
}

然后只需调用 runThis

于 2012-12-06T08:10:23.887 回答
2

这样做的肮脏方法是

eval(runThis);

但是,根本不建议这样做。

或者,将其包装在一个函数中

runThis = function(){ 
  // statements go here
}

然后你可以调用它runThis();

于 2012-12-06T08:11:09.883 回答
1

如果你真的想做这种事情,你可以使用 eval() 函数:

eval(runThis);

但是,这不是推荐的方法,因为它可能导致各种难以诊断的错误和错误

更好的方法是使用您希望执行的代码编写适当的函数,然后将其分配给变量并通过变量调用它:

//Assign function to variable
runThis = function(){ 
  alert();
  if(1>2) {
    alert("NO WAY");
  };
}

//Later, invoke the function
runThis();
于 2012-12-06T08:10:30.263 回答
0
code = "alert('test');";
eval(code);
于 2012-12-06T08:10:56.200 回答
0

警告:这是一种可怕的做法!不要这样做!

eval(runThis);

一旦你正确地逃避了你的内心报价。

于 2012-12-06T08:10:56.630 回答
0

eval(runThis);

但不建议这样做。只要记住eval() is evil

于 2012-12-06T08:13:12.573 回答
0

Eval 将执行一个字符串,但您最好按如下方式定义 run this。并像任何函数一样调用它。

var runthis = function(){
     //code  here
}

但是如果你需要执行一个字符串调用 eval。

评估(运行此);

于 2012-12-06T08:15:28.347 回答