在Javascript中重新声明对象时会发生什么?
谁能解释一下为什么foo.bar没有定义? 据我了解,它应该已经印了3张了。如果我错了,请纠正我 这是代码在Javascript中重新声明对象时会发生什么?,javascript,Javascript,谁能解释一下为什么foo.bar没有定义? 据我了解,它应该已经印了3张了。如果我错了,请纠正我 这是代码 var bar = 1, foo = {}; foo: { bar: 2; baz: ++bar; }; foo.bar; //undefined foo.baz; //undefined bar; //2 提前感谢 您的输入错误为foo={而不是foo:{。此外,属性必须用逗号分隔,而不是分号
var bar = 1,
foo = {};
foo: {
bar: 2;
baz: ++bar;
};
foo.bar; //undefined
foo.baz; //undefined
bar; //2
提前感谢 您的输入错误为foo={而不是foo:{。此外,属性必须用逗号分隔,而不是分号:
var bar=1,
foo={};
foo={
酒吧:2,
baz:++bar
};
console.logfoo.bar;//2
console.logfoo.baz;//2
console.logbar;//2因为语法错误。重新初始化javascript变量时应为=赋值运算符: 你不是在重新声明foo,而是在使用一个 你应该
foo = {
bar: 2,
baz: ++bar
};
而不是foo:{}类型foo={}为什么++bar没有增加到3??因为1+1=2。变量bar与foo.barb无关,因为您已经初始化了var bar=1,所以++bar为1+1=2。而bar和foo.bar不同。bar是一个全局变量,is值为1。另一个条是obejct foo的属性。您将全局变量bar增加了1。Oops..明白了。谢谢大家
foo = {
bar: 2,
baz: ++bar
};