我可以有一行代码作为变量,并应用这行代码(如果存在)吗



我可以在对象中携带一行代码吗?如果存在,可以运行代码吗?例如,数组携带应用于入站消息的信息以供进一步处理。该主题用于检索正确的信息以进行计算等。如果主题与第二个对象相同——我想在后处理中检索这行代码——并用这行代码进行进一步的数据处理。

这可能吗?执行变量postProcessing中的代码行时,这样的JS会是什么样子?

[{"topic":"com.victronenergy.vebus.ttyS3 - /Soc","outValDec":0,"attrUnit":"%","unique_id":"batterySoc","svgDash":1,"hass_component":"battery"},
{"topic":"com.victronenergy.vebus.ttyS3 - /Ac/Out/L1/P","outValDec":0,"attrUnit":"W","unique_id":"acloads_W","svgDash":1,"hass_component":"power"},{"topic":"com.victronenergy.vebus.ttyS3 - /State","outValDec":0,"attrUnit":"","unique_id":"SystemStateDesc","svgDash":1,"hass_component":"sensor","postProcessing":"outVal = (global.get('cfgLists','storeInFile').victronState)[outVal].desc"}]

我可以在对象中携带一行代码吗?如果存在,可以运行该代码吗?

当然。归根结底,您在文件中键入的JavaScript代码只是计算机解析和评估的字符串。这就是所有计算机语言的工作方式。

你应该吗?也许,也许不是。运行以字符串形式提交的任意代码充满了安全风险。

您可以使用eval()函数。只要把绳子传给它。但不建议这样做。

最新更新