我为我的游戏创建了一个地图编辑器,我添加了添加脚本来映射(textarea)的功能,然后编辑地图的人编写的代码被保存到变量中,然后当这个人保存地图,此变量将作为Map对象中的变量保存到JSON文件中。
在游戏中加载地图时,此代码将转换为Function对象,然后启动。
我的问题是:是否可以选择检查此字符串是否为有效的JavaScript,如果不是alert("Error" + error)
或类似的内容?
//编辑器仅适用于开发人员,不适用于用户,因此我不需要在服务器端检查安全性
答案 0 :(得分:3)
您可以执行以下操作:
try {
eval("function f () {"
+ "user code here"
+ "}");
} catch (e) {
console.log(e+"");
}
答案 1 :(得分:2)
您可以将eval包装在try catch中以验证JS字符串。这是它的工作方式。
无效的JS字符串将通过未捕获的引用错误。它看起来像是:
<li class="navigation">LOVE</li>
<li class="navigation">HATE</li>
<li class="navigation">LIFE</li>