私はオブジェクトを持っています
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);
}
actionphotos値または。を持つ変数です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ます。