var aa = {a: 1};
var bb = aa;
bb = {};
console.log(aa); // {a: 1}
var aa = {a: 1};
var bb = aa;
bb.a = 2;
console.log(aa); // {a: 2}
有些不解, 为什么第一段代码的aa不是{}, 遇见{}就会重新在堆中建立一个新内容吗?
顺便问下利用这种特性, 有哪些衍生的奇淫巧技?
高级编程3中4.1.3中关于函数参数传递的部分解释的好像有误啊, 如果按照大家给出的答案, 不知道是不是翻译错了, 书里用参数是值传递来解释上面的问题(其实书里关于这里的描述有一段本身就有语病, 不知道是不是翻译错了?)
相关分类