console.log打印和对象属性改变哪个在前????

新手上路,请多包涵

image.png
image.png

为什么前后两次的打印结果在浏览器里显示一样
第一次的console.log(obj)打印的时候下面的代码已经执行完成了吗?

阅读 3.9k
6 个回答

同时回答你和楼上,浏览器使用console.log进行数据打印时,打印的是快照,但是如果是对象的话,当你展开时,会重新去读一遍内存真实的值然后显示,所以展示的都是最新值/当前值,你鼠标悬停在对象右边的感叹号上,就会出现提示value below was envalueated jast now

image.png
你是什么场景遇到的,我在浏览器、本地的html中都试了下,没问题啊。

新手上路,请多包涵

顶一下前排的答案,console输出的时候变量快照,点开后会重新读值,可以通过以下方式验证
image.png

老问题了, 在你展开的时候浏览器会对这个属性重新求值, 又因为引用类型的关系,所以你展开的时候是一样的

哈哈哈 每个前端都要在此问题上浪费至少半个小时。

具体是因为console.log打印的对象,直到你展开才会取值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题