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

发布时间 - 2026-01-11 02:40:23    点击率:

前言

对于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的方法进行深拷贝是我知道的最简单有效的方法

总结

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


# console.log  # js  # console.log怎么用  # Javascript调试之console对象——你不知道的一些小技巧  # 灵活使用console让js调试更简单的方法步骤  # javascript代码调试之console.log 用法图文详解  # js调试工具Console命令详解  # js调试工具console.log()方法查看js代码的执行情况  # JavaScript调试技巧之console.log()详解  # JS中console对象内部提供调试方法示例详解  # 自己的  # 这是  # 四行  # 是一种  # 是因为  # 我在  # 不可能  # 这一段  # 弹出  # 可以看到  # 相关信息  # 这个时候  # 影响到  # 这篇文章  # 看一下  # 两张  # 很明显  # 谢谢大家  # 多说  # 最重要的是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  JS去除重复并统计数量的实现方法  EditPlus 正则表达式 实战(3)  如何在建站宝盒中设置产品搜索功能?  Laravel如何处理和验证JSON类型的数据库字段  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  如何快速查询网址的建站时间与历史轨迹?  PHP 500报错的快速解决方法  微信小程序 wx.uploadFile无法上传解决办法  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何快速搭建高效可靠的建站解决方案?  详解jQuery中基本的动画方法  lovemo网页版地址 lovemo官网手机登录  Laravel如何处理异常和错误?(Handler示例)  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Linux系统命令中screen命令详解  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Java遍历集合的三种方式  如何选择可靠的免备案建站服务器?  LinuxCD持续部署教程_自动发布与回滚机制  如何快速搭建高效香港服务器网站?  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何为不同团队 ID 动态生成多个“认领值班”按钮  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  网站建设要注意的标准 促进网站用户好感度!  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何挑选优质建站一级代理提升网站排名?  Python进程池调度策略_任务分发说明【指导】  如何解决hover在ie6中的兼容性问题  javascript中的try catch异常捕获机制用法分析  C#如何调用原生C++ COM对象详解  如何在万网自助建站平台快速创建网站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  制作企业网站建设方案,怎样建设一个公司网站?  Windows Hello人脸识别突然无法使用  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?