私はオブジェクトを持っています
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
各関数は、呼び出されたときにもう1つのアイテムを作成します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
アイテムがあると思います。actions
"<div>...</div>"
ただし、はをconsole.log(actions.result)
返します undefined
。
なんで?
このコードはすべて書き直される可能性があることは知っていますが、その理由を理解したいと思いundefined
ます。