var state={
     datalist:[1,2,3],
     heilist:[3,4,5],
     name:'张三'

console.log(state,"^^^")   // datalist [12,3,4,5,6] name:'李四'
var data=[12,3,4,5,6]
console.log(state.datalist=data)
console.log(state.name='李四')

解决方案 »

  1.   

    在用console.log()输出数组或对象时,对象(数组)的属性有时是折叠不显示的。
    如果你在console.log()输出之后改变了对象(数组)的属性,当你点击三角展开属性时,会重新读取对象(数组)当前的属性,也就是显示出来的是你点击三角展开时的属性,而不是执行console.log()时的属性。解决方法是用console.log(JSON.stringify(state));以字符串方式输出
      

  2.   

    地址引用,console 中取的是 对象或对象数组 的地址的属性,改变对象属性的值,肯定会发生变化,这里涉及浅拷贝和深拷贝问题