Javascript 在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"

我已经创建了一个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');
    }
};

注意“交互”功能。这正是我想说的,但我有困难。感谢您的帮助。

您为什么要将对象字符串化?根据设计,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对象。我的错。