答案 0 :(得分:5)
答案 1 :(得分:0)
虽然'谢尔盖伊林斯基'可能已经考虑过了正确的理由,但还有更多的事情可以考虑。通常是错误的,很难调试。
有时会发生这种情况,你的对象键包含空格,比如说:
var myObj = new Object();
myObj['key1'] = 'val1';
myObj['key2'] = 'val2';
myObj['key3 '] = 'val3'; //the key contains spaces here
myObj['key4 '] = 'val4'; // the key contains spaces here
因此,当您通过console.log(myObj)
将其记录到控制台时,您将获得:
Object { key1="val1", key2="val2", key3 ="val3", key4 ="val4"}
但是当你访问:
alert(myObj.key1); //Ok: val1
alert(myObj.key2); //Ok: val2
alert(myObj.key3); //undefined
alert(myObj.key4); //undefined
alert(myObj['key3']; //undefined
alert(myObj['key4']; //undefined
这些是错误的常见区域,其中一个错误地放置空间,可能是在进行复制粘贴时,就会发生这种情况,有人说,console log
能够显示它,但我无法访问它