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

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没有输出。

最佳答案

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

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


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

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


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

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

关于javascript - Javascript-访问单个名称值对不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23661353/

10-12 15:39