如何检查是字符串有效的JavaScript?

时间:2016-12-25 11:51:54

标签: javascript json function

我为我的游戏创建了一个地图编辑器,我添加了添加脚本来映射(textarea)的功能,然后编辑地图的人编写的代码被保存到变量中,然后当这个人保存地图,此变量将作为Map对象中的变量保存到JSON文件中。

在游戏中加载地图时,此代码将转换为Function对象,然后启动。

我的问题是:是否可以选择检查此字符串是否为有效的JavaScript,如果不是alert("Error" + error)或类似的内容?

//编辑器仅适用于开发人员,不适用于用户,因此我不需要在服务器端检查安全性

2 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

try {
  eval("function f () {"
  + "user code here"
  + "}");
} catch (e) {
  console.log(e+"");
}

答案 1 :(得分:2)

您可以将eval包装在try catch中以验证JS字符串。这是它的工作方式。 enter image description here

无效的JS字符串将通过未捕获的引用错误。它看起来像是:

<li class="navigation">LOVE</li>
<li class="navigation">HATE</li>
<li class="navigation">LIFE</li>