var a ={name: 'a'}var b = ab.name = 'b'此时a.name值为什么,请说下原因。
a.name的值是'b'js中对象和数组是按引用地址传递的。当把一个对象从一个变量传递到另一个变量中时,两个变量都指向这同一个对象的引用地址。当对对象的name属性赋值时,实际上是先读取变量中的引用地址找到对象,再改变这个对象的name属性。这样之后再用另一个变量中的引用地址所找到的也是这同一个对象,会获取到一样的对象内容。