未加星标

用一分钟理解console的这个原理,多留几根黑发~

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

问题: console打印出的值与实际值不符的原因。

碰到这个问题是因为更改某一个值a后将其存储起来,更改为a1后,然而打印出来的值却是a1,展开打印的值是a。因为不理解这个现象,导致调试代码走了很多弯路,最后才定位到问题。

先来看现象
用一分钟理解console的这个原理,多留几根黑发~
原因

代码

let a = { name: 'langlang', look: 'handsome'}; console.log(a); a.name = 'shuishui'; a.look = 'beautiful'; 复制代码

原因: 打印出的值是运行时的值,点击展开后是最后修改的值。


用一分钟理解console的这个原理,多留几根黑发~

chrome控制台打印对象是引用的,默认没有展开,展开后就是最后修改的值,所以会出现展开后的值与之前不同。

如果想看到实时的值,可以直接打印字符串:

console.log(JSON.stringify(a)); 复制代码

结果:


用一分钟理解console的这个原理,多留几根黑发~

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

分页:12
转载请注明
本文标题:用一分钟理解console的这个原理,多留几根黑发~
本站链接:https://www.codesec.net/view/620876.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(9)