2010-10-06 89 views
3

我認爲這是相當清楚我想要在這裏做:這個JavaScript對象有什麼問題?

var viewnames = {}; 
viewnames['region-a'] = "Region A"; 
viewnames['region-b'] = "Region B, partial"; 
viewnames['region-c'] = "Region C"; 

function loadView(view_name) { 
    alert('view_name: ' + view_name); 
    alert('viewname: ' + viewnames.view_name); 
    document.getElementById("viewtitle").innerText = view_name; 
} 

但是,如果我把這個與view_nameregion-a警告說viewnames.view_name是不確定的。問題是什麼?

回答

8

您必須使用viewnames[view_name]自己的函數中loadView

+0

謝謝!我將在10分鐘後啓動時接受此答案:) – AP257 2010-10-06 18:31:54

+0

澄清:對於點存取器語法,不能使用變量;你必須使用大括號。因此,'viewnames [view_name]'而不是'viewnames.view_name'。 – mway 2010-10-06 18:32:42

1

你的名字,例如需要建立索引呢viewnames[view_name]

0

通過關聯數組索引(viewnames[view_name])訪問它。請請勿使用eval構造(eval("var tmp = viewnames." + view_name + ";"))。