在 SQL 数据库中存储带有函数的 Javascript 对象
Storing Javascript object with functions in an SQL database
我正在开发一个javascript菜单(使用jQuery(。
例如,下面是我将传递给自定义函数的 items 对象的结构,该函数随后创建菜单。
var items = {
0: {
name: 'file',
submenu: {
0: {
name: 'open',
hasSubitems: true,
subitems: {
0: {
name: 'file',
hasSubitems: false,
callback: function() { alert('you opened a file!'); }
},
1: {
name: 'project'
hasSubitems: false,
callback: function() { alert('you opened a project!'); }
}
}
},
1: {
name: 'exit',
hasSubitems: false,
callback: function() { alert('you logged out!'); }
}
}
},
1: {
name: 'edit',
submenu: {
...
}
}
}
我希望能够将上述内容存储到数据库中,包括它们的潜在回调。我打算创建一个界面来动态构建菜单等。
我意识到我可以创建一个 JSON 字符串并以这种方式存储它,但是回调函数呢?我被建议不要多次使用eval,那么人们可以通过哪些其他方式安全地将这些信息存储在数据库中,以便以后调用?
JSON 是语言中立的(尽管名称如此(,因此它只支持原始值。 回调函数是特定于语言的(在本例中为 javascript(,因此它们不能包含在需要解释为纯 JSON 的任何内容中。
我建议从这里提取回调代码,而是包含区分每个回调代码所需的必要参数。 然后,通过 JS 模板引擎(如 Handlebars.js(使用辅助函数而不是回调运行此 JSON 对象。 可以使用用于替换(现在有效的(JSON 对象中的回调函数的参数调用这些参数。
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery