收藏
回答

又发现个问题,debug给奖金么?

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows 当前已是最新版本(1.02.1812180)

微信开发工具中

以下代码


var aa={a:1,b:2,c:3};
console.log(aa);
aa.a=9;


运行后  调试器 的 console 中显示 有问题    ,  用鼠标按开 这个对象前面的箭头。。。 里面显示的内容 是错误的!





看了以下某些回复,觉得可笑,


英文 log 的含义是 日志

什么叫日志?

日志 应该 忠实记录当时的现场情况 ,

现场情况就应该是当时模样,不能引用,

这就像 警察记录命案现场,结果只在本本上写了个地址,后面写着具体内容自己去这个地址看  一样


并且 按开 箭头以后 上下内容不一致  也不符合正常人类的习惯



最后

斯德哥尔摩综合症 说的就是 你被人劫持了,最后还替匪徒打圆场,找各种理由,证明匪徒没有错,匪徒是被迫的。




最后一次编辑于  2018-12-26  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

17 个回答

  • 。。。。
    。。。。
    2018-12-26

    这个不是错,console.log是异步函数,打印9是正确的

    2018-12-26
    赞同 10
    回复
  • 烧饼
    烧饼
    2018-12-25

    js引擎怎么知道你需要展开多少个节点,为了保持你打印的对象就是那一个瞬间的,就给你保存下来整个树状节点,而js的对象又是原型链构造的,全保存下来得占多少内存,弄不好还内存泄漏了。java等直接打印还只能是个内存地址呢。这里只能把对象给序列化再打印。

    2018-12-25
    赞同 3
    回复
  • Starkwang
    Starkwang
    03-18

    这是chromium自身的特性,并非开发者工具的行为,如果有更好的建议的话可以提到chromium的issue tracker上:https://www.chromium.org/issue-tracking

    03-18
    赞同
    回复
  • Daniel.
    Daniel.
    2018-12-26

    哈哈哈楼主好好补下功课。会实现也要知道其原理。

    2018-12-26
    赞同 2
    回复
  • Stephen
    Stephen
    2018-12-24

    这是正常数据,因为你打印的是一个object,控制台显示的是缩略图,打印出缩略图之后,你又把值改了,所以缩略图不会进行修改,当你点开的时候,查看的是详细,所以就看到了修改后的,控制台并不是实时显示内存中的数据,想查看实时数据,请在sources中打断点进行watch

    2018-12-24
    赞同 2
    回复
  • 小葱
    小葱
    2018-12-25

    我想说的是,你是不是在某个地方更改了a的值?   外面存的是快照  里面的是实际的值,js的特性而已

    2018-12-25
    赞同 1
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-12-26

    看了评论,再看下楼主说的  最后。

    2018-12-26
    赞同
    回复
  • 旭钦科技
    旭钦科技
    2018-12-26

    不发言

    2018-12-26
    赞同
    回复
  • 王月
    王月
    2018-12-26

    大家的吐槽还真是不遗余力啊

    2018-12-26
    赞同
    回复
  • ?唥洫ル
    ?唥洫ル
    2018-12-26

    楼主居然还回复,让别人长点心。。。。

    2018-12-26
    赞同
    回复

正在加载...