记一次"Value below was evaluated just now"

组合流沙
• 阅读 14457

今天工作的时候使用console.log()打印数组调试代码的时候,发现了一个奇怪的现象
记一次
咦 数组展开之前,显示的是[1,2,3],展开后却显示的是[1,2,3,4]。好奇怪啊,以前怎么
没有遇到啊(原谅我的年轻。。。)这时候我注意到右上角有个蓝色的小图标,于是我把鼠
标移动上去,最后出现在我眼前的是“Value below was evaluated just now”这一行大字。
为了弄清楚原因,我查了一波资料,才发现是因为console.log()之后的代码改变了数组!

let array = [1, 2, 3]
console.log(array)
array.push(4)

结论就是:当你展开数组的时候,显示出来的数据是最终发生了改变的数据

后来我在想,如果是数据发生改变之前,我就展开了数组,那么还会发生这种“奇怪”的现象吗?
于是我执行了下面的代码:

let array = [1, 2, 3]
console.log(array)
setTimeout(() => array.push(4), 5000)

眼疾手快的我在不到一秒的时间点开了数组,等待着“奇怪”的现象发生
等了好久好久,发现一直是这个界面:
记一次

这次,我刷新等5秒之后再展开数组看结果吧:
记一次
哈哈,“奇怪”的现象又发生了

所以结论就是:当你在控制台展开打印出来的数组(或者对象)的时候,如果此时数组(或者对象)的数据已经发生了改变,那么将显示改变之后的数据。如果此时数组(或者对象)的数据没有发生改变,那么就一直显示此时的数据

(新人一枚,如有错误欢迎大家指出,谢啦)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
11个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
小嫌 小嫌
3年前
Javascript中的变量提升
定义JavaScript中奇怪的一点是你可以在变量和函数声明之前使用它们。就好像是变量声明和函数声明被提升了代码的顶部一样。sayHi()//Hithere!functionsayHi()console.log('Hithere!')name'JohnDoe'console.log(name)//JohnDoevarn
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Wesley13 Wesley13
3年前
Java开发者容易犯的十个错误
!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
JavaScript基础知识
题目:1.找出数字数组中最大的元素(使用Math.max函数)2.转化一个数字数组为function数组(每个function都弹出相应的数字)3.给object数组进行排序(排序条件是每个元素对象的属性个数)4.利用JavaScript打印出Fibonacci数(不使用全局变量)5.实现如下语法的功能:vara(5).plus(
Stella981 Stella981
3年前
ReactNative state更新,视图不更新的问题
开发中遇到这样的问题,我更新了state一个数组的某个元素的选中状态,打印出的数据也显示修改正确了,但是界面却没更新。例如下图点击某项修改选中状态。!(https://oscimg.oschina.net/oscnet/c3291a62b5f638d1e35dd7a719ade39f226.png)代码中之前是这样写的,结果界面没有更新。
Wesley13 Wesley13
3年前
Java 数据结构
|适用场景当一个数组中有大量重复数字的时候可以使用稀疏数组来压缩这个数组,从而减少对资源的耗费|笔记!(https://oscimg.oschina.net/oscnet/cde8cab1e6f289b1cf83a0d361852116a17.png)|代码!(https://oscimg.oschina.net/os
组合流沙
组合流沙
Lv1
洛阳亲友如相问,一片冰心在玉壶。
文章
3
粉丝
0
获赞
0