为什么在已经输出后修改来自console.log的chrome开发者工具输出?

Bun*_*tel 0 javascript google-chrome developer-tools console.log

以下应该让你理解:

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

我怎样才能避免这种情况?我尝试调试一些疯狂的东西,并且在输出对象时必须知道对象的值。不是来自对象的最新值。 在此处输入图片说明

Hon*_*ons 5

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

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

console.log("value: " + x);
Run Code Online (Sandbox Code Playgroud)

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

console.log("value", x) ; 
Run Code Online (Sandbox Code Playgroud)

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