控制台在打印对象时,会出现打印值和实际值不一样,或者对象展开和折叠时值不同等情况
这是因为:console.log()输出对象或数组时是在控制台显示一个对象或数组的引用
当打印的对象和数组在打印后进行了赋值修改等操作,就会造成此现象
此时,折叠显示的对象数组值,为执行console.log()当时的值;展开后会重新读取此引用地址的属性值,即后期被改变后的值。
使用console.log(JSON.stringify(obj))可以获取打印当时的属性值。
控制台在打印对象时,会出现打印值和实际值不一样,或者对象展开和折叠时值不同等情况
这是因为:console.log()输出对象或数组时是在控制台显示一个对象或数组的引用
当打印的对象和数组在打印后进行了赋值修改等操作,就会造成此现象
此时,折叠显示的对象数组值,为执行console.log()当时的值;展开后会重新读取此引用地址的属性值,即后期被改变后的值。
使用console.log(JSON.stringify(obj))可以获取打印当时的属性值。