在js脚本中,使用console.log打印一个大型的对象(像 vm (vue实例),或者 window 对象),然后再设置延迟改变该对象的的某个属性(假设属性名为 ppp )的值,会发现个有趣的现象:

如果是 window,假设执行如下脚本

会在控制台打印出如下输出:

首先,马上点击展开第一个输出值,10s后点击展开第二个输出值,会发现两个值分别为

第一个

第二个

从结果上看,【点击展开对象】时,控制台才会动态展示window对象的属性值。第一次点击,ppp的值仍然是666,10s之后再点击就变为了20000

如果是 vm 对象,也有问题,只是略有不同,如下:

首先,打印出数据后,第一时间点击并展开这两个对象

等待5s后,【点击 ... 展开第一个对象属性ppp的值】,展开前后分别如下图

等待10s后,【点击 ... 展开第二个对象属性ppp的值】,展开前后分别如下图

从结果上看,【点击...展开对象属性的值】控制台才会动态展示 vm 对象的属性ppp的值


所以可以确定,这个是 chrome 内核中 console.log 功能上的一个bug,而且没有修复。实际上,这个bug早在2012年就已经被提出,不过至今没有正式修复。目前已知,火狐浏览器上,并没有这个问题。

目前并没有特别好的解决办法,如果强制 string 化,对某些 dom 类对象是有问题的,所以只能尽量不要打印过于复杂的对象,或者仅打印必要的对象属性

这个bug目前的状态如下:

Webkit(http://trac.webkit.org/changeset/125174)2012年8月9日两年半后实施了一个修复程序,但似乎还没有将其添加到Chrome中。

参考文档:

WebKit Bugzilla

javascript – Google Chrome console.log()与对象和数组不一致

Google Chrome console.log() inconsistency with objects and arrays

chrome控制台console.log无法时实打印引用类型值的bug相关推荐

  1. [转]Chrome 控制台console的用法

    Chrome 控制台console的用法 下面我们来看看console里面具体提供了哪些方法可以供我们平时调试时使用. 目前控制台方法和属性有: ["$$", "$x&q ...

  2. console.log(text)打印不出来的值,用console.log(text.length)却打印出来长度为1?

    一.背景 好久没写博客了,最近时间实在是紧的不行,忙中偷闲记录一个小问题先.大概描述就是像题目中说的那样,用console.log打印结果和实际的length不同,以为是遇到鬼了,实际呢,我还是太年轻 ...

  3. Node.js 在命令行下执行Console.log()命令时,第二行会打印undefined的原因

    转载:http://blog.csdn.net/chy555chy/article 问题描述:在命令行下执行Console.log()命令后,第一行会以 "正常的白字" 输出log ...

  4. Chrome 控制台console的用法

    一般情况下我们用来输入信息的方法主要是用到如下四个: 1.console.log 用于输出普通信息 2.console.info 用于输出提示性信息 3.console.error用于输出错误信息 4 ...

  5. 清空控制台Console.log()信息

    /*清空控制台信息*/function clearConsole() {console.clear();let fontFamily = "微软雅黑";let fontSize = ...

  6. BrowserLog——使用Chrome控制台作为Log查看器

    Chrome控制台是十分强大的,即使将它作为一个log查看器也是非常强大的,BrowserLog就是一个.net下的把Chrome作为log输出的程序包. 原理非常简单,server端将log数据通过 ...

  7. javascript中浏览器控制台console.log 输出图片,彩色字体,文字

    浏览器控制台输出图片,彩色字体,文字 if (window.console) {     var cons = console;     if (cons) {         cons.log(&q ...

  8. chrome控制台如何把vw显示成px_chrome用不好,BUG改到老,这些chrome 浏览器使用技巧你需要掌握...

    前端工程师大部分工作成果需要在浏览器中查看,使用 chrome 浏览器的频率非常高.更好更有效率地使用 chrome,将 chrome 配置成趁手的浏览器,将极大提升编程效率.现将chrome浏览器的 ...

  9. html控制台 打印 consol,浏览器console.log()打印输出台不显示输出内容……

    浏览器console.log()打印输出台不显示输出内容的原因应该很多,如网络上所说:console.log()被重新定义等等原因(需要验证真实性?)都可能导致console.log()打印不能显示打 ...

最新文章

  1. 波形捕捉:(1)枚举捕捉设备
  2. 计算机伺服系统的作用是,伺服系统简介及其在数控加工中的应用
  3. 目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto
  4. SpringMVC简介-SpringMVC概述
  5. LeetCode—220. 存在重复元素 III
  6. python turtle画彩虹的代码_如何用python海龟库画彩虹
  7. linux oa软件安装步骤,Ecology_OA_for_Linux安装手册
  8. 2018: 跑图(深搜)
  9. Q135:PBRT-V3,随机渐进光子映射(Stochastic Progressive Photon Mapping)(16.2章节)
  10. Symantec 不用密码卸载
  11. Leetcode刷题笔记(部分非原创)(1-20题)
  12. [转]20个优秀网站助你征服CSS
  13. 黑苹果EFI大全下载,拥有各种电脑机型配置!
  14. Eclipse IDE安装教程
  15. excel小写转大写公式_英文字母大小写的转换
  16. CTGU·OJ 快乐
  17. POI设置excel样式
  18. Java存储金额解决方案BigDecimal
  19. Play框架最快上手!
  20. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程03:碰撞检测》

热门文章

  1. 基于Python,爬取豆瓣读书源码
  2. 游戏延迟测试软件,官方发布游戏延迟测试工具 将优化网络
  3. 阅读文献1:Bootstrapping ViTs: Towards Liberating Vision Transformers from Pre-training(文章翻译及自身的理解和总结)
  4. 设计sample语言的词法分析器_华为被曝自研编程语言“仓颉”,南大教授冯新宇领衔...
  5. 字符编码:ASCII编码、地区编码 、Unicode (UTF-8)
  6. Java Swing桌面应用开发-组件-组合框
  7. mac terminal 常用快捷键
  8. H323plus交叉编译
  9. jsp中去掉超链接下划线吗_网页中如何去掉超链接的下划线
  10. 实验6 单个交换机虚拟局域网