当前位置: 首页 > 编程笔记 >

JavaScript调试之console.log调试的一个小技巧分享

岳均
2023-03-14
本文向大家介绍JavaScript调试之console.log调试的一个小技巧分享,包括了JavaScript调试之console.log调试的一个小技巧分享的使用技巧和注意事项,需要的朋友参考一下

前言

对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻断JavaScript程序的执行,从而造成副作用;

alert弹出框需要点击确认比较麻烦,而console.log()仅在控制台中打印相关信息,因此不会造成类似的顾虑。

最重要的是alert只能输出字符串,不能输出对象里面的结构,console.log()可以接受任何字符串、数字和JavaScript对象,可以看到清楚的对象属性结构,在ajax返回json数组对象时调试很方便。

//兼容Firefox/IE/Opera使用console.log
if(!window.console){
window.console = {log : function(){}};
}
window.console = window.console || {}; 
console.log || (console.log = opera.postError);

下面分享两张打印出来的信息图片:


上面简单的介绍了console.log调试,下面本文将给大家分享一个JavaScript中console.log调试的小技巧,话不多说,来一起看看详细的介绍:

console出正确的值

我们直接来看这一段代码

var obj = {
 name: '小傻子',
 age: 12
}
console.log(obj)
obj.name = '大傻子'

很明显我在第四行的位置添加了console是想查看obj在第四行的时候的值。

但是结果并不如意会打印出

{name: "大傻子", age: 12}

究其原因,是因为obj为引用型变量,console后面的操作同样会影响到console的内容。

我们看一下这一段代码

var obj = {
 name: '小傻子',
 age: 12
}
console.log(obj.name)
obj.name = '大傻子'

这个时候打印的结果就是预期的小傻子

解决方案

我们不可能去打印obj的所有属性,因为这是不现实的。我们还是希望打印obj但是得到在当前位置的结果,我下面贴出自己的解决方案

console.log(JSON.parse(JSON.stringify(obj)))

通过JSON的方法进行深拷贝是我知道的最简单有效的方法

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 本文向大家介绍谷歌浏览器调试JavaScript小技巧,包括了谷歌浏览器调试JavaScript小技巧的使用技巧和注意事项,需要的朋友参考一下 谷歌浏览器不仅仅可以用来上网,对于开发人员来说,它更像是一款强大的开发辅助工具。 工欲善其事必先利其器,接下来笔者给大家分享一些Chrome的使用方法。 假如读者了解如何在Chrome中添加JavaScript断点,那请继续阅读;否则,自行脑补。 假如有这

  • 问题内容: 您调试Python的最佳秘诀是什么? 请不要只列出特定的调试器而不必说出它实际上可以做什么。 问题答案: PDB 你可以使用pdb模块,将pdb.set_trace()其插入任何地方,它将用作断点。 要继续执行,请使用(或或)。 可以使用pdb执行任意Python表达式。例如,如果发现错误,则可以更正代码,然后键入一个类型表达式以在运行的代码中起到相同的作用 ipdb是用于IPytho

  • 本文向大家介绍JavaScript的兼容性与调试技巧,包括了JavaScript的兼容性与调试技巧的使用技巧和注意事项,需要的朋友参考一下 关于JavaSctipt的兼容性,最懒的办法就是用jQuery的工具函数。尽量不要用那些什么ECMAScript之类的函数,因为很多浏览器都会报找不到函数的错误。下面列出一些在开发过程中碰到过的javascript问题。 1、参数列表多个逗号。   $.aja

  • 本文向大家介绍分享101个MySQL调试与优化技巧,包括了分享101个MySQL调试与优化技巧的使用技巧和注意事项,需要的朋友参考一下 MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调

  • 本文向大家介绍12个Visual Studio调试效率技巧(小结),包括了12个Visual Studio调试效率技巧(小结)的使用技巧和注意事项,需要的朋友参考一下 在这篇文章中,我们假定读者了解 VS 基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果当前程序指针指向一个函数)

  • 本文向大家介绍概述javascript在Google IE中的调试技巧,包括了概述javascript在Google IE中的调试技巧的使用技巧和注意事项,需要的朋友参考一下 今天,发现了一个之前从未注意的角落,相信能够大大提高自己写JS的速度。能够迅速发现错误。   例如,今天的加班中调试一个js错误发现的一个例子。   1、Google浏览器报的错   以上是google浏览器报的错误,只报一