如何去除字符串'已经字符串化的JavaScript代码? JSON.parse似乎不起作用。我们希望将JavaScript代码存储在数据库中,然后检索它然后评估它。这是数据库中的代码:
//# sourceURL=journal.js
function onBlur(e) {
var drAmount = script.getGridRowFieldValue('debitamount', e.rowuid)
var crAmount = script.getGridRowFieldValue('creditamount', e.rowuid);
// Prevent both debit and credit from having values.
if (drAmount != undefined && crAmount != undefined) {
if (e.fieldname == 'debitamount') {
script.setGridRowFieldValue('creditamount', e, undefined)
} else if (e.fieldname == 'creditamount') {
script.setGridRowFieldValue('debitamount', e, undefined)
}
}
}
这里有什么回复:
" //#sourceURL = journal.js \ r \ n \ r \ nexport函数onBlur(e){\ r \ n \ r \ n var drAmount = script.getGridRowFieldValue(' debitamount&# 39;,e.rowuid)\ r \ n var crAmount = script.getGridRowFieldValue(' creditamount',e.rowuid); \ r \ n \ r \ n //防止借记和贷记都有值。 \ r \ n if(drAmount!= undefined&& crAmount!= undefined){\ r \ n \ r \ n if(e.fieldname ==' debitamount'){\ r \ n script .setGridRowFieldValue(' creditamount',e,undefined)\ r \ n} else if(e.fieldname ==' creditamount'){\ r \ n script.setGridRowFieldValue(&#39 ; debitamount',e,undefined)\ r \ n} \ r \ n \ r \ n} \ r \ n} \ r \ n \ r \ n \ r \ n \ r \ n \ n \ r \ n&# 34;
答案 0 :(得分:2)
见eval。它接受一个字符串作为参数,你可以将该字符串传递给它,它应该可以工作。
另外,请阅读并理解他人提及的警告以及我链接到的文档。
答案 1 :(得分:1)
您应该尝试从其数据中提取对象的行为。使用eval通常是一件坏事,特别是如果你不相信你正在解析的字符串。您应该将数据存储为json,并且使用数据的函数应该是静态的,并通过原型或类似的东西添加到您的对象中。
答案 2 :(得分:0)
你不应该JSON.stringify javascript代码,只有javascript数据对象。
将代码保存为数据库中的字符串。您可能希望模糊您的代码。 How can I obfuscate (protect) JavaScript?