如题比如
<script type="text/javascript">
a={
q:1,
w:2,
e:3
}
b = a
a.q='q'
console.log(b.q)
</script>
如何让控制台输出的对象也是(我的意思是让赋值的时候不是修改b所指向的地址,而是将b的值赋给a)
{
q:3,
w:4,
e:5,
}
JavaScript的变量分成引用类型和基本类型。对象是引用类型的值,所以对对象的操作实际是操作对象的引用而不是操作实际的对象。所以b = a其实另b指向了a同一份内存空间,因此a.q其实也改变了b的q,输出的应该是‘q’.
写了个函数,看看还不是你想要的: