在看到下面的代码后熟悉对象文字,我猜到最后一行将是" 2 + 2 + 2 = 6"但是当在chrome控制台中执行时,我得到了" Nan"结果。最初我没有认识到":"在第4行的foo和第5行和第6行的bar旁边的半冒号之后。为了找出原因,我试过了" foo:{bar:10}"然后它打印10.然后我开始知道语法错误但无法理解为什么它没有抛出错误而是得到了答案10.
var bar = 1,
foo = {};
foo: {
bar: 2;
baz: ++bar;
};
foo.baz + foo.bar + bar;