var test = {};
test.k1 = {};
console.log(test);
test.k1.k2 = 'apple';
console.log(test);
test.k1.k2 = 'banana';
First log:
Object k1:Object k2:"banana"
WHY? I expect empty object k1... banana is defined 3 lines later
Second log:
Object k1:Object k2:"banana"
WHY? I expect k2: apple... banana is defined in next line