记一次"Value below was evaluated just now"

本日事情的时刻运用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秒以后再睁开数组看效果吧:
《记一次
哈哈,“新鲜”的征象又发作了

所以结论就是:当你在控制台睁开打印出来的数组(或许对象)的时刻,假如此时数组(或许对象)的数据已发作了转变,那末将显现转变以后的数据。假如此时数组(或许对象)的数据没有发作转变,那末就一向显现此时的数据

(新人一枚,若有毛病迎接人人指出,谢啦)

    原文作者:麦克冇得风
    原文地址: https://segmentfault.com/a/1190000018831992
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞