控制台打印是同步还是异步的?

  1. 首先 js 默认没有 Console 对象,Console 对象是浏览器的内置对象,它提供了一些浏览器控制台调试的接口,不同的浏览器厂商可能有一些细节上的区别,比如 IE8 以下版本就没有。
  2. 第二点,只有在控制台打开的情况下才会去执行 console.log 。
    举个例子:
        var obj = {
            name: 'jhy'
        };
        console.log(obj.name);
        obj.name = 'hhh';
        console.log(obj.name);

如果代码在运行时,控制台是打开的,那么控制台接收到 console.log 命令就会执行,依次打印 'jhy' 'hhh',但是如果在代码运行完才打开控制台的话,此时 obj 的 name 属性值已改变,控制台依次执行打印操作,最后会输出 'hhh' 'hhh'。


所以控制台的打印是同步的,只是由于控制台打开的时机不同可能会有意外表现*

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容