我在设计时生成的javascript需要执行才能在运行时查找值。代码作为字符串存储在对象中,我希望能够执行它并检索值然后废弃代码。有没有办法做到这一点?我必须使用eval()
吗?
答案 0 :(得分:2)
您可以使用eval(String)
或使用new Function (String)
或使用document.createElement
<强> [编辑] 强>
取决于你的代码是如何完成的
1 -
如果这些字符串在不同页面(使用cookies
或database
)共享时保存,则SERVER-SIDE
您可以生成标记<script>
,其值保存在{ {1}}可以快速访问。
2 -
如果字符串仅在运行时保存(即分页中不是可恢复的值),您可能不需要在JSON
中保存这些值,您可以在Strings
中创建global Json
,使页面上的任何时候都可以访问这些值(因为没有分页) - 如果使用Window Object (eg. window.MyObjectGlobal)
,结合SERVER-SIDE
(仅用于保存ajax),也可以重用该想法数据库中的数据)或Ajax
(但必须使用document.cookie
或document.createElement("script")
)
答案 1 :(得分:0)
是的,你可以使用eval
。
但是,请记住eval
是邪恶的,它可能会带来安全风险。
无论如何,如果你知道你在做什么,那就是要走的路