首页 > 一个console.log的问题

一个console.log的问题

这里的 aa 为什么值不一样呢?

var abc = {aa: null, bb: null, cc: null, dd: null, aa1: null, bb1: null, cc1: null, dd1: null};
function set_t(board, loc, tof) {
    board[loc] = tof;
    return board
}
console.log(abc)
set_t(abc, "aa", 2);

这是代码!


console时的abc中的a还是null,当你点开时是set_t之后的,所以是2。


第一次点击左三角,去执行 求值(),点开后就缓存在这里了,如图:


当执行到 console.log(abc) 的时候, abc["aa"] 是 null, 这没什么疑问。当点击展开的时候应该相当于重新执行一次 console.log(abc)

执行完 set_t(abc, "aa", 2); 后展开:

执行前 set_t(abc, "aa", 2); 后展开, 然后执行完再展开,结果就不会变了:

参考这里:
http://stackoverflow.com/ques...


一个可能的原因是:console出来只是abc的简略形式,那时候的aa确实还是null;后面set_t之后,aa变为2,此时的打开操作就类似重新查看abc,所以值会变。

【热门文章】
【热门文章】