2014-04-19 102 views
0

我只是想问,这可能从用户输入执行JavaScript代码?例如:用户在<textarea id="test">中输入他的Javascript代码。然后用JavaScript,我得到了他的输入var userInput = $('#test').val();。是否有可能从该字符串执行JavaScript代码?如果可能的话,请告诉我如何。javascript - 在代码中执行代码?

〜问候

+3

您可以使用'eval'来执行字符串作为代码。 – keune

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval –

+0

更具体地说:https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Reference/Global_Objects/eval#Don.27t_use_eval.21 ...“eval()是一个危险的函数”! – cepharum

回答

0

有两种方式与eval()函数来做到这一点:

eval(userInput); 

或通过创建一个函数,然后调用它。

var fun = new Function(userInput); 
fun.apply(window); 
+0

你在哪里可以找到一个javascript函数对象的'invoke()'方法?在JS中,你可以用'()'来调用一个函数,如'fun()'。 – jfriend00

+0

对不起,它适用(或致电) –

+0

如果你想控制'this'指针,并且你只需要使用'.apply()',你只需要使用'.call()',如果你想传递一个数组而不是仅仅列出它们。否则,你可以使用'fun()'。 – jfriend00