Javascript - 访问单个名称值对无效

时间:2014-05-14 17:31:37

标签: javascript

有谁能告诉我为什么这不起作用?

var fieldsValid = {
    registerUserName: false,
    registerEmail: false,
    registerPassword: false,
    registerConfirmPassword: false
};

function showState () {
    var str = "<p>registerUserName: " +  fieldsValid[registerEmail] + "</p>" ;
    document.getElementById('showstate').innerHTML = str;
}

showState();

我的div没有输出。

2 个答案:

答案 0 :(得分:4)

在属性名称周围使用引号,否则,registerEmail被视为包含属性名称的变量,而不是属性名称:

var str = "<p>registerUserName: " +  fieldsValid['registerEmail'] + "</p>" ;

或使用不带引号的.语法:

var str = "<p>registerUserName: " +  fieldsValid.registerEmail + "</p>" ;

MDN Working With Object是一个很好的资源,与此相关。

为了将来的调试,请在浏览器中观察控制台(F12)。

答案 1 :(得分:-2)

让我们说你有一些对象。 someObject [johndoe]返回someObject中具有johndoe值(因为这里是变量)作为索引的项。