我创建了一个 JSON 对象,但该对象中包含我想要访问并作为普通函数运行的函数列表。我正在尝试找出如何实现这一目标,但我遇到了困难。以下是我正在做的事情:
Bootstrapper.dynamic = {
"interaction": function(data) {
s.linkTrackVars="events,prop2,eVar2,prop32,eVar32,prop33,eVar33";
s.linkTrackEvents="event2";
s.prop2="site:social:facebook";
s.eVar2="D=c2";
s.prop32=data.tp_type;
s.eVar32="D=c32";
s.prop33=data.ct_type;
s.eVar33="D=c33";
s.events="event2";
s.tl(this,'o','interaction');
}
};
Run Code Online (Sandbox Code Playgroud)
注意“交互”功能。这就是我想要解雇的,但我遇到了困难。谢谢你的帮助。
为什么要对对象进行字符串化?根据设计,JSON 不理解函数。然而,Javascript 对象会:
var x = {
name:"FirstName",
age:"21",
load:function(){ alert('hi') }
};
x.load(); //works
Run Code Online (Sandbox Code Playgroud)
如果你确实想将函数转换为 JSON,请查看JSONfn插件: http: //www.eslinstructor.net/jsonfn/