如何运行存储在变量中的javascript函数?

时间:2012-12-06 08:08:10

标签: javascript

我有一个带有指令的变量,例如:

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

如何在runThis中运行代码?

7 个答案:

答案 0 :(得分:3)

eval(runThis);

但是你不应该用这种方式编写代码,这很难管理。

请改为:

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

然后只需调用runThis

答案 1 :(得分:2)

这样做的肮脏方式是

eval(runThis);

然而,这并没有被推荐。

或者,将其包装在函数

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

然后你可以称之为runThis();

答案 2 :(得分:1)

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

eval(runThis);

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

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

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

//Later, invoke the function
runThis();

答案 3 :(得分:0)

code = "alert('test');";
eval(code);

答案 4 :(得分:0)

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

eval(runThis);

一旦你正确地逃过内部报价。

答案 5 :(得分:0)

eval(runThis);

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

答案 6 :(得分:0)

Eval将执行一个字符串但你最好定义运行它如下。并称之为任何功能。

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

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

的eval(runthis);