JavaScript对象行为

Mon*_*eus 2 javascript object

我经常不会感到难过,但我现在只是在失言.

使用Chrome 37.0.2062.120 m

有人可以向我解释为什么我console.log();会报告这些结果吗?

JS代码

var some_obj = {min:1};

var another_obj = {};

console.log(some_obj);

another_obj['sometarget'] = some_obj; // <- What is this sorcery?!?!?
another_obj['sometarget']['required'] = true;

console.log(some_obj);
Run Code Online (Sandbox Code Playgroud)

console.log()输出

Object {min: 1}
Object {min: 1, required: true}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

http://jsfiddle.net/qrnaw7j2/1/

Lua*_*ico 6

javascript中的对象通过引用共享.

所以,some_objanother_obj['sometarget']指向内存中的相同位置.

当您设置其中['required'] = true;任何一个时,它们都会得到更新.