我有一个对象
var actions = {
'photos': function()
{
var self = this; // self = actions
$.get('./data.php?get=photos', function(data)
{
self.result = data;
});
},
'videos': function()
{
var self = this;
$.get('./data.php?get=videos', function(data)
{
self.result = data;
});
}
};
actions
每个函数在被调用中再创建一项result
然后,而不是switch
我使用这个(效果很好):
if (actions[action])
{
actions[action](); // call a function
console.log(actions);
console.log(actions.result);
}
action
是具有值photos
或的变量videos
。
console.log(actions)
给出了这个:
Object
message: function ()
messages: function ()
profile: function ()
profile-edit: function ()
result: "<div>...</div>"
__proto__: Object
所以我认为有result
item inactions
的 value "<div>...</div>"
。
但是,console.log(actions.result)
回报 undefined
。
为什么?
我知道所有这些代码都可能被重写,但我想了解undefined
.