为什么在输出后从console.log修改chrome developer tools输出?

时间:2017-07-20 16:34:58

标签: javascript google-chrome console.log developer-tools

以下内容应该让您理解:

我将值设置为1.然后在控制台中输出它。这里输出显示1.我将值设置为2.相同的控制台输出显示2。

我该如何避免这种情况?我尝试调试一些疯狂的狗屎,并在输出时必须知道对象的值。不是来自对象的最新值。 enter image description here

2 个答案:

答案 0 :(得分:4)

当您进行控制台记录时,它是对变量的引用,因此无论何时打印它,它都链接到您现在已更改的相同值。

例如,您可以将其打印在字符串中,以查看此时的内容:

console.log("value: " + x);

这应该将x的值连接成一个字符串,这样它就不会发生变化 (在devRant的移动设备上,因此无法测试)

console.log("value", x) ; 

将引用存储x的位置的内存,因此它将始终使用变量

进行更新

答案 1 :(得分:1)

控制台输出上一个表达式的结果。

例如,如果您编写1并按Enter键,则会输出1.

第一个表达式(这是一个赋值)的结果是“test”变量的值。

第二个表达式(也是一个赋值)的结果是“test.value”的值,即2。

如果要查看变量的值,只需编写“test”并按Enter键。