为什么这样做? Javascript中的对象引用

前端之家收集整理的这篇文章主要介绍了为什么这样做? Javascript中的对象引用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我终于好奇地发现为什么 javascript会运用它的巫术魔法来学习为什么不能创建所有对象引用.

举个例子:

var a,b,c,d;
a = 100; b = a;

c = {}; d = c;

b = 10; d.e = 'f';

console.log(a,b); // outputs 100,10
console.log(c,d); // outputs object => e = 'f',object => e = 'f'

如果javascript中的所有变量都是对象,那么是什么使用c和d的用例显式地转换为Object而不是将a和b定义为Number?或者,为什么c和d会彼此链接,而不是a和b?

解决方法

JavaScript中的所有变量都不是对象.也有本地类型.

c和d没有相互关联.它们指向同一个对象引用.如果您要将d重新分配给其他内容,则不会影响c.

var c = {};
var d = c;
d = { foo: "bar" };

c === d // false

但是,如果要修改c或d引用的对象,它将修改同一个对象,因为c和d都引用与示例中相同的对象.

猜你在找的JavaScript相关文章