Javascript 在JSON对象中执行函数
我已经创建了一个JSON对象,但在该对象中有一个函数列表,我希望能够作为普通函数访问和运行。我正试图弄明白如何做到这一点,但我遇到了困难。以下是我正在做的事情:Javascript 在JSON对象中执行函数,javascript,json,Javascript,Json,我已经创建了一个JSON对象,但在该对象中有一个函数列表,我希望能够作为普通函数访问和运行。我正试图弄明白如何做到这一点,但我遇到了困难。以下是我正在做的事情: Bootstrapper.dynamic = { "interaction": function(data) { s.linkTrackVars="events,prop2,eVar2,prop32,eVar32,prop33,eVar33"; s.linkTrackEvents="event2"
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');
}
};
注意“交互”功能。这正是我想说的,但我有困难。感谢您的帮助。您为什么要将对象字符串化?根据设计,JSON不理解函数。但是,Javascript对象会:
var x = {
name:"FirstName",
age:"21",
load:function(){ alert('hi') }
};
x.load(); //works
如果您确实想将函数转换为JSON,请查看JSONfn插件:这是一个JavaScript对象,而不是JSON对象。要调用函数,请使用
Bootstrapper.dynamic.interaction(yourData)代码>不清楚s
应该是什么。作为参考,Bootstrapper.dynamic.interaction
与Bootstrapper.dynamic['interaction']
与Bootstrapper['dynamic']['interaction']
与var foo='dynamic',bar='interaction'相同代码>然后引导程序[foo][bar]代码>如果我使用Bootstrapper.dynamic['interaction'],如何向其添加参数?@pingeyeg使用括号和逗号分隔的参数正常调用。但是,如果您引用函数并将其保存在不同的标识符/参数名称中(稍后调用),请了解上下文已更改,因此函数中的此
对象可能会有所不同。感谢您提供这方面的帮助。不知道为什么我在这个问题上得了-2分,因为这是一个合理的问题,但不管怎样。我想奖励分数,但我现在还不能。我现在意识到我并不是想把它称为JSON对象,因为它不是JSON对象。我的错。