我认为我在这里要做的很清楚:
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_name
称为region-a
,则警告viewnames.view_name
未定义。有什么问题?
答案 0 :(得分:8)
您必须在函数viewnames[view_name]
loadView
答案 1 :(得分:1)
您需要按名称对其进行索引,例如viewnames[view_name]
答案 2 :(得分:0)
通过关联数组索引(viewnames[view_name]
)访问它。请不要使用eval
构造(eval("var tmp = viewnames." + view_name + ";")
)。