Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript对象行为_Javascript_Object - Fatal编程技术网

JavaScript对象行为

JavaScript对象行为,javascript,object,Javascript,Object,我不经常被难倒,但我现在只是不知所措 使用铬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']['

我不经常被难倒,但我现在只是不知所措

使用铬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);
JSFIDDLE


javascript中的对象通过引用共享

所以
一些对象
另一个对象['sometarget']
指向内存中的同一个位置


当您将
['required']=true时
在其中任何一种情况下,它们都将得到更新。

您不希望看到结果的哪一部分?你有什么奇怪的地方被难住了?搜索会发现几百个副本,这里有一个->javascript中的对象不是通过引用传递的!指向对象的指针不是,而是对象本身,因为它们在内存中共享同一个位置——它们实际上“指向”同一个对象。所以我猜这取决于符号:)它通常被称为“引用的副本”或“类似引用”,javascript没有指针,也没有传递真正的引用。谢谢Luan Nico@答案是用通俗易懂的英语解释的,虽然人们对“路过任何东西”的正确术语存在争议,但Luan的
,因此一些对象和另一个对象['sometarget']指向记忆中的同一个位置。
这句话是不言自明的。
Object {min: 1}
Object {min: 1, required: true}