我有一个像这样的多维对象:
objectx = {
1: {
name: "first",
loadFunction: function(target) {
$(target).load("http://stackoverflow.com #question", function() {
// do something else
});
}
},
2: {
name: "second",
loadFunction: function(target) {
$(target).load("http://stackoverflow.com #answer", function() {
// do something else
});
}
}
}
每个对象都有自己的功能,可以加载和格式化来自不同位置的内容。但是如何从我的程序中调用loadFunction中的函数?
顺便说一句,我使用simple PHP proxy加载内容,对于任何绊倒这个并且想知道的人。这个例子很简单。
答案 0 :(得分:0)
这在我的控制台中可以正常使用:
var derp = {1: {func: function(msg){console.log(msg);}}}
derp[1].func('hi');
在您的示例中,我认为主要问题是您在loadFunction
属性之前缺少逗号。所以你的对象不是你想象的那样。
这是一个更直接适用的例子。我只是在控制台中执行它,所以我知道它有效。
objectx = {
1: {
name: "first",
loadFunction: function(target) {
console.log('first: ' + target);
}
},
2: {
name: "second",
loadFunction: function(target) {
console.log('second' + target);
}
}
}
objectx[1].loadFunction('hi');
> first: hi
objectx[2].loadFunction('hi');
> secondhi
也许每当你引用objectx时,它都不在你认为的状态。