2015-09-29 59 views

回答

9

你有錯字是foo = {而不是foo: {。此外屬性必須用逗號,沒有分號獨立:

var bar = 1, 
 
    foo = {}; 
 

 
foo = { 
 
    bar: 2, 
 
    baz: ++bar 
 
}; 
 

 
console.log(foo.bar); //2 
 
console.log(foo.baz); //2 
 
console.log(bar); //2

也請看一看Object initializer

+0

爲什麼++杆未遞增到3? – Parashuram

+0

因爲'1 + 1 = 2'。變量'bar'與'foo.bar'沒有任何關係 – epascarello

+0

因爲你已經初始化'var bar = 1',所以'++ bar'給你'1 + 1 = 2'。而'bar'和'foo.bar'是不同的。 – Manwal

0

因爲你的語法是錯誤的。它應該是=賦值運算符初始化的變量javascript時:

var bar = 1, 
foo = {}; 

foo = { 
    bar: 2, 
    baz: ++bar, 
}; 

foo.bar; //2 
foo.baz; //2 

bar; //2 

DEMO

4

您還沒有重新聲明foo。您正在使用label

你應該有

foo = { 
    bar: 2, 
    baz: ++bar 
}; 
相關問題