2012-01-21 9 views
0

objectからpropertyにアクセスしようとしています。 propertyに手動でのパスを入力してアクセスすると、それを取得できますが、実行するときにはとなります。JavaScriptを使用してinsideメソッドからプロパティにアクセスする

私は以下を見逃しましたか?

var myApp = { 
    cache : {}, 
    init: function() { 
     myApp.cache.akey = 'A value'; // Set the cached value 
     myApp.get('cache', 'akey'); 
    }, 
    get: function(from, key) { 
     console.log(myApp.from.key); // undefined 
     console.log(myApp.cache.akey); // A value 
    } 
}; 

答えて

1

引数 'from'と 'key'は、例では参照されていませんが、プロパティはリテラルです。

myApp[from][key] 
0

ドットのアクセスは、リテラルでみた場合、変数の使用添字表記に含まれる文字列によってたくアクセス:

get: function(from, key) { 
    console.log(myApp[from][key]); // Assume from === "cache" and key === "akey", this accesses myApp.cache.akey 

} 
関連する問題