【发布时间】:2020-04-24 20:13:36
【问题描述】:
所以我有一个带有以下示例键值对的 js 对象。
var serial = {
open: function(a, b) {
do something..
},
close: function (a,b) {
do something
}
}
如上所示,键的值是 js 函数。由于某些要求,我不得不将整个对象转换为字符串。我使用以下代码将其转换为字符串:
var json = JSON.stringify(window.serial, function(key, value) {
if (typeof value === 'function') {
return value.toString();
} else {
return value;
}
});
如何将字符串转换回函数原型并将其存储在同一个 obj 中?
【问题讨论】:
-
听起来像是一个 XY 问题:为什么需要将函数存储为字符串?
-
@Terry 由于某些要求/复杂性
-
听起来很奇怪。通常,您只需发送 data,不发送函数或方法,然后使用数据初始化对象。对象知道它需要的方法。
-
@krishnanspace
return ""也将函数转换为字符串,没有任何问题。但是一个不能转换回函数的字符串实际上可以做你想做的事情。当然,它也可以简单地转换为空函数。
标签: javascript angularjs