序
与alert()相比,console.log()是一种更好的调试JavaScript程序的方法,因为alert()函数会阻塞JavaScript程序的执行并造成副作用。
点击确认告警弹出框比较麻烦,而console.log()只在控制台打印相关信息,不会引起类似的顾虑。
最重要的是alert只能输出字符串,不能输出对象中的结构。console.log()可以接受任何字符串、数字和JavaScript对象,并且可以清晰地看到对象属性的结构。当ajax返回json数组对象时,调试起来很方便。
//使用console.logif(!window . console){ window . console={ log : function(){ } };} window . console=window . console | | { };console . log | |(console . log=opera . posterror);分享下面两张打印的信息图片:
以上简单介绍了console.log的调试,下面的文章将和大家分享一个用JavaScript调试console.log的小技巧。话不多说,我们来看看详细的介绍:
控制台给出了正确的值
让我们直接看这段代码
Var obj={name: '小傻瓜',age : 12 } console . log(obj)obj . name='大傻瓜'。显然,我在第四行添加了console,以查看第四行obj的值。
但是结果并没有像预期的那样被打印出来
{name: '大傻瓜',age: 12}原因是obj是引用变量,控制台后面的操作也会影响控制台的内容。
让我们看看这段代码
Var obj={name: '小傻瓜',age : 12 } console . log(obj . name)obj . name='大傻瓜'此时打印的结果是预期的小傻瓜
解决办法
我们不可能打印obj的所有属性,因为这是不现实的。我们仍然想打印obj,但在当前位置得到结果。我将在下面发布我自己的解决方案
JSON对console . log(JSON . parse(JSON . stringfy(obj))的深度复制是我所知道的最简单有效的方法。
摘要
以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。