2016-12-25 22 views
2

我创建了我的游戏地图编辑器,我添加的功能被添加脚本映射(文本区域),然后通过代码被编辑地图的人所著保存到变量,然后当这个人保存地图,这个变量作为Map对象中的变量保存为JSON文件。如何检查是字符串有效的JavaScript?

当地图在游戏中加载时,此代码正在转换为函数对象,然后启动。

我的问题是:有没有选项来检查是该字符串有效的JavaScript,如果没有alert("Error" + error)或类似的东西?

//编辑器只适用于开发商,而不是用户,所以我并不需要检查它在服务器端的安全

+0

[也许这将有助于(https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Reference/Global_Objects/eval) –

+0

但是如果字符串不正确,那么'eval()'会返回什么? –

+0

只要确保它是正确的。同时避免使用'eval' –

回答

3

你可以做到以下几点:

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

谢谢,就是这样! –

2

您可以在尝试捕捉包eval验证一个JS字符串。这是如何工作的。 enter image description here

无效JS字符串将通过一个未捕获的参考误差。它看起来是这样的:

try { 
    eval('console.log("a")'); 
    console.log('Valid JS'); 
} catch (e) { 
    console.log('Invalid JS'); 
} 
相关问题