这个javascript对象出了什么问题?

时间:2010-10-06 18:27:12

标签: 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_name称为region-a,则警告viewnames.view_name未定义。有什么问题?

3 个答案:

答案 0 :(得分:8)

您必须在函数viewnames[view_name]

中使用loadView

答案 1 :(得分:1)

您需要按名称对其进行索引,例如viewnames[view_name]

答案 2 :(得分:0)

通过关联数组索引(viewnames[view_name])访问它。请不要使用eval构造(eval("var tmp = viewnames." + view_name + ";"))。