【Web前端问题】对象赋值前打印,结果却是赋值后的值

对象赋值前打印,结果却是赋值后的值

window.onload = function () {

var obj = {

a: 123,

b: [1, 2, 3]

}

console.log(obj);

obj.a = 333;

obj.b[0] = 123123;

console.log(obj);

}

图片描述

本来第一次打印一概是

{

a: 123,

b: [1, 2, 3]

}

为什么变成了

{

a: 333,

b: [123123, 2, 3]

}

求高手指教。。。

回答:

chrome的console问题。。不用太在意。

简单来说就是chrome在console输出的时候还是原样的,但是展开时候是获取的当前状态。

回答:

如果你想显示当时的信息,可以用 JSON.stringify(obj) 把对象处理成 JSON 来输出,就可以看到初始和修改后的

回答:

你需要在打印时期复制一份,如:slice()再打印出来。
否则此变量在后来变化后,就是新数值,打印页是新数值了,(原始类型除外)。

以上是 【Web前端问题】对象赋值前打印,结果却是赋值后的值 的全部内容, 来源链接: utcz.com/a/137884.html

回到顶部