如何去字符串化字符串化 JavaScript?
How to De-Stringify Stringified JavaScript?
如何'de-stringify' 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 function onBlur(e) {\r\n\r\n var drAmount = script.getGridRowFieldValue('debitamount', e.rowuid)\r\n var crAmount = script.getGridRowFieldValue('creditamount', e.rowuid);\r\n\r\n // Prevent both debit and credit from having values. \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('debitamount', e, undefined)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n"
参见 eval。它接受一个字符串作为参数,您可以将该字符串传递给它,它应该可以工作。
此外,请阅读并理解其他人和我链接到的文档中提到的警告。
您应该尝试从对象的数据中提取对象的行为。使用 eval 通常是一件坏事,特别是如果您不信任正在解析的字符串。您应该将数据存储为 json,使用数据的函数应该是静态的,并通过原型或类似的东西添加到您的对象中。
你不应该 JSON.stringify javascript 代码,只有 javascript 个数据对象。
看到这个JSON.stringify function
将代码作为字符串保存在您的数据库中。您可能想要混淆 您的代码。 How can I obfuscate (protect) JavaScript?
如何'de-stringify' 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 function onBlur(e) {\r\n\r\n var drAmount = script.getGridRowFieldValue('debitamount', e.rowuid)\r\n var crAmount = script.getGridRowFieldValue('creditamount', e.rowuid);\r\n\r\n // Prevent both debit and credit from having values. \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('debitamount', e, undefined)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n"
参见 eval。它接受一个字符串作为参数,您可以将该字符串传递给它,它应该可以工作。
此外,请阅读并理解其他人和我链接到的文档中提到的警告。
您应该尝试从对象的数据中提取对象的行为。使用 eval 通常是一件坏事,特别是如果您不信任正在解析的字符串。您应该将数据存储为 json,使用数据的函数应该是静态的,并通过原型或类似的东西添加到您的对象中。
你不应该 JSON.stringify javascript 代码,只有 javascript 个数据对象。
看到这个JSON.stringify function
将代码作为字符串保存在您的数据库中。您可能想要混淆 您的代码。 How can I obfuscate (protect) JavaScript?