Javascript - 访问单个名称值对不起作用

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

最佳答案

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

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

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

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

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

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

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

相关文章:

javascript - 你能在selenium中使用typeof运算符吗?

javascript - JSON.parse 字符串中带有特殊字符的意外字符?

javascript - 如何从另一个函数调用使用 window.onload 的函数

javascript - D3 - yAxis 刻度未显示

javascript - JQuery Treeview 不支持 Ajax

javascript - 从 extjs 3.4 中的 ComboBox 中删除参数

javascript - 使用 aws-sdk-js 通过 cloudfront 分发进行 S3 分段上传

javascript - 打开一个新的最小化窗口?

javascript - 从基类构造函数访问子构造函数

javascript - 如何添加数字而不是将它们组合在字符串中?