我经常不会感到难过,但我现在只是在失言.
使用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
javascript中的对象通过引用共享.
所以,some_obj并another_obj['sometarget']指向内存中的相同位置.
当您设置其中['required'] = true;任何一个时,它们都会得到更新.