【发布时间】:2017-04-01 08:48:33
【问题描述】:
所以我真的找不到太多关于这个的东西。这个想法是我有一个用户输入(文本),我想检查它在 JS 中的代码是否有效,然后运行它。
我知道如果userInput 实际上是一个函数,我可以做if (typeof userInput === "function") {,但此时用户输入只是一个字符串输入,所以我很卡住,它还包含任何参数或其他代码。
例如,输入可能是 "alert('test')",这将是有效的,我想运行它,但是像 "madeUpFunction(lol)" 这样的输入将是无效的。
如果我能让函数正常工作而不是任何 JS 代码,我会很高兴。
【问题讨论】:
-
描述有效函数?
-
你试图做的相当于解析 JavaScript 语法。您可以让 JavaScript 运行时本身通过
eval()来完成它,但这显然并非没有风险和复杂性。 -
字符串是字符串,永远不可能是函数。
-
@MattCowley Function !== 函数调用。根本不清楚你有什么,你想要什么。
-
@Oriol 我在问题中添加了一个示例。
标签: javascript string function typeof