关于js中的打印console.log()

最近在改前端的时候发现打印的内容总是不符合预期,于是debugger看了一下,似乎是我对js有点误解。

首先新建一个文件,写个简单的页面,改成html,双击打开,f12控制台,发现打印的结果前后一致。

 

 

 

 

 打个断点看一下

<html>
    <body>
        <p>hello</p>
    </body>
    <script>
        window.onload = function(){
          debugger
            var a = {name:"张三",age:20};
            console.log(a);
            a.age = 25;
            console.log(a);
        };
    </script>
</html>

 

 这个时候a的age还是20。

 如果打印的是某个值呢?

如果把json对象转成字符串再打印呢?

 

 总结:在java中打印一个对象,如果对象有tostring方法就会打印tostring方法的返回值,如果没有tostring则直接打印对象的地址,在js中打印json对象会打印实时的json对象,感觉更像是创建了一个快捷方式,在你查看的时候直接访问对象本身而不是他的快照。所以如果想跟踪json数据的变化情况,可以把他转成字符串或者只打印需要的值。

 

posted on 2022-05-10 16:32  胜者为王东恺  阅读(700)  评论(0编辑  收藏  举报

导航