写在前面的

在开发调试过程中,我们经常需要调用console.log
方法来打印出当前变量的值,然而,console.log在浏览器环境下
有时会出现一些异常的现象

开撸代码

在浏览器和nodejs环境下分别运行下面代码

var s = {};
console.log(s);
s.title = 'ee';

在谷歌浏览器结果如下:
解析浏览器和nodejs环境下console.log()的区别
在nodejs环境,结果如下:
解析浏览器和nodejs环境下console.log()的区别
在火狐浏览器,结果如下:
解析浏览器和nodejs环境下console.log()的区别

分析

怎么会这样呢?在google和Safari的webkit中,console.log并没有立即拍摄对象快照,相反,
他只是存储了一个指向对象的引用,然后在代码返回事件队列时才会去拍摄快照,类似于异步操作,
在nodejs和火狐下,它是严格同步的。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
  • 2021-05-31
  • 2021-09-12
  • 2021-07-05
猜你喜欢
  • 2022-01-11
  • 2021-11-09
  • 2022-01-14
  • 2022-12-23
  • 2021-11-06
  • 2021-07-30
相关资源
相似解决方案