2012-01-21 28 views
0

我試圖從object中訪問property。當我通過手動輸入路徑訪問property時,我可以檢索它,但不能在動態輸入時動態地使用JavaScript從內部方法訪問屬性

我在下面錯過了什麼?

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 

}