2016-12-25 45 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'); 
} 
相關問題