我正在构建一个chrome应用程序,我正在尝试在chrome.storage.local内的对象内添加一个函数,但是当我执行该操作时,如果您尝试获取它就不会出现(所有其他内容都会出现,但不会出现该功能)
但是,如果您尝试在像这样的普通对象上做
let a={b:function(){return 'This is working'}};
然后它起作用。
如果我只能使用eval,那不会有问题,但是由于chrome应用程序的安全性,它无法正常工作。
我想做的是:
chrome.storage.local.set({ 'obj':[ {example:'hello', fn:function(){return 'This is not working'}} ] });
那么你就这么做
chrome.storage.local.get('obj',function(e){console.log(e.obj)});
然后它将返回
数组(长度1):例如:“ hello”
而不是功能
谢谢。
答案 0 :(得分:-1)
像这样存储参数和正文
{function:{arguments:"a,b,c",body:"return a*b+c;"}}
检索它并实例化函数:
let f = new Function(function.arguments, function.body);