影响其父变量的变量

Edx*_*dxz 0 javascript

标题可能看起来很奇怪,但我真的不知道如何描述这种情况,因为我是JavaScript的初学者.

这是代码:

a={};
var b=a;
b['a']='x';
console.log(a);
Run Code Online (Sandbox Code Playgroud)

结果将是:

Object { a="x"}
Run Code Online (Sandbox Code Playgroud)

它不应该是一个空白对象,因为我只将'x'设置为变量b?

T.J*_*der 7

a包含对象的引用,如下所示:

+-----+        +--------------+
|  a  |------->| (the object) |
+-----+        +--------------+

所以当你这样做时:

var b = a;
Run Code Online (Sandbox Code Playgroud)

现在你有两个引用同一个对象的变量.

+-----+
|  a  |---+
+-----+   |    +--------------+
          +--->| (the object) |
+-----+   |    +--------------+
|  b  |---+
+-----+

很自然地,您对该对象所做的任何更改(在您的情况下为其添加属性)都可以通过引用看到.