Can';t访问Javascript对象的字段

Can';t访问Javascript对象的字段,javascript,Javascript,以下Javascript函数返回一个JS对象: function getCookies() { var result = {}; var cookie = {}; var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { cookie = cookies[i].split('='); result[cookie[0]

以下Javascript函数返回一个JS对象:

function getCookies() {
    var result = {};
    var cookie = {};
    var cookies = document.cookie.split(';');
    for (var i = 0; i < cookies.length; i++) {
        cookie = cookies[i].split('=');
        result[cookie[0]] = cookie[1];
    }
    return result;
}
访问键和值的唯一方法是遍历字段,例如:

for(cookieName in c){
  alert(c[cookieName]);
}
问题是如何在不迭代的情况下访问字段

多谢各位


另外,键和值确实存在,我可以在Chrome中通过console.log(getCookies())看到对象字段。

您正在正确访问字段。问题是您正在访问的字段不存在。看起来对象上根本不存在名为
a\u cookie\u name
的属性

编辑

假定Chrome控制台显示了现有的属性,可以考虑的是属性名称中有空白。这可以解释这种差异,因为在控制台中很难看到空白。要测试这一点,请尝试以下方法。如果空间在那里,它将使它们更可见

for (var cookieName in c) {
  alert('"' + cookieName + '"="' + c[cookieName] + '"');
}

在Google Crome的控制台中,我看到该函数返回一个具有正确字段名和值的对象。@vicuv您是否考虑过输出中有空格?这将使它在Chrome控制台显示中不可见,但会阻止您通过名称访问该属性,而不使用spaces@vicuv我已经更新了我的警报示例,以帮助检测属性名称中是否存在空白。谢谢!空白区就是它原来的样子!
for (var cookieName in c) {
  alert('"' + cookieName + '"="' + c[cookieName] + '"');
}