如何正确地重新定义javascript对象

时间:2016-04-01 07:56:38

标签: javascript object redefine

var test = {};
test.k1 = {};
console.log(test);
test.k1.k2 = 'apple';
console.log(test);
test.k1.k2 = 'banana';

第一次记录:
对象k1:对象k2:“香蕉”
为什么?我希望空对象k1 ... banana定义为3行

第二次记录:
对象k1:对象k2:“香蕉”
为什么?我希望k2:apple ... banana在下一行定义

1 个答案:

答案 0 :(得分:2)

您的期望是正确的,而console.log会让您失望。在某些环境中,尤其是浏览器,console.log日志是对象的实时引用,因此如果在分配香蕉的行之后展开它,您会看到banana而不是apple,因为它&# 39;当你展开它时,它会显示给你,而不是当你记录它时。