当前位置:首页 > 科技  > 软件

调试只会console.log?来看一看这六种惊艳的调试技巧!

来源: 责编: 时间:2024-04-08 17:17:04 103观看
导读Hello,大家好,我是 Sunday。在日常开发中,大多数同学都会通过 console.log 的方式来进行代码调试。但是 console.log 是具备很多局限性的,比如:我们想要获取某段代码的执行耗时,通过 console.log 就无法满足需求。那么怎么

Hello,大家好,我是 Sunday。z9r28资讯网——每日最新资讯28at.com

在日常开发中,大多数同学都会通过 console.log 的方式来进行代码调试。但是 console.log 是具备很多局限性的,比如:我们想要获取某段代码的执行耗时,通过 console.log 就无法满足需求。z9r28资讯网——每日最新资讯28at.com

那么怎么办呢?其实对于 console 对象来说,除了 log 方法它还提供了很多其他的方法帮助我们进行调试,利用这些方法可以极大地提升我们的工作效率~~z9r28资讯网——每日最新资讯28at.com

01:console.table

使用 console.table 可视化复杂的对象和数组:z9r28资讯网——每日最新资讯28at.com

const myData = [  { name: "程序员Sunday", age: 30 },  { name: "Sunday", age: 25 }];console.table(myData);

打印结果如下:z9r28资讯网——每日最新资讯28at.com

图片图片z9r28资讯网——每日最新资讯28at.com

02:console.trace

使用 console.trace 可以明确函数的调用逻辑关系:z9r28资讯网——每日最新资讯28at.com

function fn() {  function test() {    console.trace("这是一个利用trace的测试打印");   }  test();}fn();

打印结果如下:z9r28资讯网——每日最新资讯28at.com

图片图片z9r28资讯网——每日最新资讯28at.com

03:console.time && console.timeEnd

使用 console.time && console.timeEnd 来记录代码的执行耗时:z9r28资讯网——每日最新资讯28at.com

console.time('js 耗时')const vNodes = []for (let i = 0; i < 10000; i++) {  const vNode = {    type: 'div'  }  vNodes.push(vNode)}console.timeEnd('js 耗时')

打印结果如下:z9r28资讯网——每日最新资讯28at.com

图片图片z9r28资讯网——每日最新资讯28at.com

04:console.assert

使用 console.assert 断言你的判断逻辑。z9r28资讯网——每日最新资讯28at.com

如果断言为假,它抛出一个你指定的错误:z9r28资讯网——每日最新资讯28at.com

const myArray = []console.assert(myArray.length > 0, "myArray 是空的!");

打印结果如下:z9r28资讯网——每日最新资讯28at.com

图片图片z9r28资讯网——每日最新资讯28at.com

05:console.clear

在很多时候,我们的控制台可能会打印非常多的内容。所以,可以让代码在执行到某一个特定的时机时,利用 console.clear() 清空控制台z9r28资讯网——每日最新资讯28at.com

console.clear()

执行之后会打印这个:z9r28资讯网——每日最新资讯28at.com

图片图片z9r28资讯网——每日最新资讯28at.com

06:console.error

使用 console.error 直接打印一个错误级别的描述:z9r28资讯网——每日最新资讯28at.com

console.error('错误信息')

打印结果如下:z9r28资讯网——每日最新资讯28at.com

图片 图片 z9r28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-82029-0.html调试只会console.log?来看一看这六种惊艳的调试技巧!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 深入了解pyinfra:Python基础设施自动化工具!

下一篇: 探索C++类中static关键字的妙用

标签:
  • 热门焦点
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • 一文看懂为苹果Vision Pro开发应用程序

    一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • SpringBoot中使用Cache提升接口性能详解

    SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 三言两语说透设计模式的艺术-单例模式

    三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 一篇聊聊Go错误封装机制

    一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    在今日举行的2023年华为云数字文娱AI创新峰会上,华为云全球Marketing与销售服务总裁石冀琳表示,华为云将在后续推出盘古数字人大模型,可帮助用户12小
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • 由于成本持续增加,笔记本产品价格预计将明显上涨

    由于成本持续增加,笔记本产品价格预计将明显上涨

    根据知情人士透露,由于材料、物流等成本持续增加,笔记本产品价格预计将在2021年下半年有明显上涨。进入6月下旬以来,全球半导体芯片缺货情况加剧,显卡、处理器
  • 三翼鸟智能家居亮相电博会,让用户体验更真实

    三翼鸟智能家居亮相电博会,让用户体验更真实

    2021电博会在青岛国际会展中心开幕中,三翼鸟直接把“家”搬到了现场,成为了展会的一大看点。这也是三翼鸟继9月9日发布了行业首个一站式定制智慧家平台后的
Top
Baidu
map