特别声明
本文是作者 Tomek Sułkowski 发布在 medium 上的一个系列。据作者透露一共有24篇,一直更新到12月24日
版权归原作者所有。
前两篇的翻译链接我已经给到了作者本人,虽然他不理解中文,但是他还是很开心哈哈,截图在最后
译者在翻译前已经和作者沟通得到了翻译整个系列的许可。
为了不影响大家阅读,获得许可的记录会放在本文的最后~
正文
在马上就要迎来假期的这 24 天里,我将会发布一系列短篇的文章,关于如何将开发工具使用得更加有意思,昨天我们完成了第15 个,今天我们只有一个tips,但会是相当惊喜的一个:
16. 打印出来的对象,并不是我们所期待的样子
好家伙,这个(打印出来的对象,并不是我们所期待的样子)会让你摔个跟头,并且使基于console.log
的调试过程变得扑朔迷离,或者调试失败。
你在console中打印出的对象,在你打印出他内容之前,都是以引用的方式保存的。
这是什么意思呢?例如:你(在代码中)打印了一个对象,然后(在代码中)修改了它,然后再将他打印出来 - 然后在console
中查看,你就会看到第一条打印的记录(在进行修改前的记录) 和第二条打印的记录的值是一样的!
如果这样描述你仍然不好理解,别担心,在下面的视频中看下这个流程,然后你就会变得清晰。
现在想象一下,如果在你想要弄清楚一个对象是在何时被修改的时候,发生了这样的情况。
怎么处理这样的情况呢?你可以打印一个从这个对象复制出来的对象,或者...在正式的调试中使用可以让我们放心的断点或者资源面板来替代,在后续的文章中,我们会继续提到这个问题。
惯例: 如果你从这里学到了一些新东西
→ 你可以点个赞再走嘛~
→ 关注我:Twitter:Tomek Sułkowski
其他系列
其他此系列的文章,马上就会翻译出来,到时会贴出对应的链接在此处。
- 【译】你不知道的Chrome调试工具技巧 第一天:console中的'$'
- 【译】你不知道的Chrome调试工具技巧 第二天:copying & saving
- 【译】你不知道的Chrome调试工具技巧 第三天:console methods
- 【译】你不知道的Chrome调试工具技巧 第四天:the Elements panel(元素面板)
- 【译】你不知道的Chrome调试工具技巧 第五天:console的log中,让人疑惑的案例
写在最后
如果你对我的翻译表示肯定,也可以关注我一波哦~ 顺便我的开源项目,求一波 star→ 看这里, 美丽的博客系统