标题可能看起来很奇怪,但我真的不知道如何描述这种情况,因为我是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?
a包含对象的引用,如下所示:
+-----+ +--------------+ | a |------->| (the object) | +-----+ +--------------+
所以当你这样做时:
var b = a;
Run Code Online (Sandbox Code Playgroud)
现在你有两个引用同一个对象的变量.
+-----+
| a |---+
+-----+ | +--------------+
+--->| (the object) |
+-----+ | +--------------+
| b |---+
+-----+
很自然地,您对该对象所做的任何更改(在您的情况下为其添加属性)都可以通过引用看到.
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |