12个Console命令,让js调试更简单

news2025/1/10 16:09:36

Console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 Console 对象,这是宿主对象(也就是浏览器)提供的内置对象。 用于访问调试控制台, 在不同的浏览器里效果可能不同。

Console 对象常见的两个用途:

  • 显示网页代码运行时的错误信息。
  • 提供了一个命令行接口,用来与网页代码互动。
1、显示消息
console.log('hello');
console.info('信息');
console.error('错误');
console.warn('警告');

在这里插入图片描述

2、判断变量是否为真

.assert

assert方法接受两个参数,第一个参数是表达式,第二个参数是字符串。只有当第一个参数为false,才会输出第二个参数,否则不会有任何结果。

// 实例
console.assert(true === false, "判断条件不成立")
// Assertion failed: 判断条件不成立

在这里插入图片描述

3、清除所有输出

.clear

清除当前控制台的所有输出,将光标回置到第一行。

console.clear()
4、计数

.count

用于计数,输出它被调用了多少次。

(function() {
  for (var i = 0; i < 5; i++) { 
    console.count('count'); 
  }
})();

在这里插入图片描述

5、信息分组

.group、.groupEnd、.groupCollapsed

.group用于将显示的信息分组,可以把信息进行折叠和展开。
.groupCollapsed与console.group方法很类似,唯一的区别是该组的内容,在第一次显示时是收起的(collapsed),而不是展开的。
.groupEnd结束内联分组

console.group('第一组');
  console.group('第二层');

    console.log('error');
    console.error('error');
    console.warn('error');

  console.groupEnd(); 
console.groupEnd();

console.groupCollapsed('第二组');
  console.groupCollapsed('第二层');

    console.log('error');
    console.error('error');
    console.warn('error');

  console.groupEnd(); 
console.groupEnd();

在这里插入图片描述

6、表格显示

.table

将复合类型的数据转为表格显示。

var arr= [ 
         { num: "1"},
         { num: "2"}, 
         { num: "3" }
    ];
console.table(arr);

var obj= {
     a:{ num: "1"},
     b:{ num: "2"},
     c:{ num: "3" }
};
console.table(obj);

在这里插入图片描述

7、计时

.time、.timeEnd

.time > 计时开始
.timeEnd > 计时结束

console.time('计时器1');
for (var i = 0; i < 100; i++) {
  for (var j = 0; j < 100; j++) {}
}
console.timeEnd('计时器1');
console.time('计时器2');
for (var i = 0; i < 1000; i++) {
  for (var j = 0; j < 1000; j++) {}
}
console.timeEnd('计时器2');

在这里插入图片描述

8、追踪函数

.trace

追踪函数的调用过程

function d(a) { 
  console.trace();
  return a;
}
function b(a) { 
  return c(a);
}
function c(a) { 
  return d(a);
}
var a = b('123');

在这里插入图片描述

9、查看对象信息

.dir

显示一个对象所有的属性和方法。

const info = {
    name: '章三',
    age: 12,
    address: '广东省广州市'
 }
console.dir(info);

在这里插入图片描述

在JavaScript中,需要调试和输出信息的时候,我们通常会使用console.dir和console.log两种方法。虽然它们都可以输出信息到控制台,但它们之间还是有一些细微的区别。console.log()更适合用于输出和查看数据的字符串表示,特别是对于DOM对象,它会以更易读的HTML格式显示。而console.dir()则更适合用于详细检查对象的所有属性和方法,尤其当需要深入了解对象的内部结构时,并且按照特定的格式显示,更易于阅读。所以在使用的时候,如果要输出一个对象的结构和属性信息,应使用console.dir;如果只需要输出变量信息,应使用console.log。这样就可以更快速、有效地进行开发和调试。

10、显示某个节点的内容

.dirxml

console.dirxml()用来显示网页的某个节点(node)所包含的html/xml代码。

<div id="info">
  <h3>这是标题</h3>
  <p>这是内容,此处省略10000</p>
</div>
<script type="text/javascript">
  var info = document.getElementById('info');
  console.dirxml(info);
</script>

在这里插入图片描述

11、性能分析

.profile

性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是 console.profile()。

function All() {
  for (var i = 0; i < 10; i++) {
    funcA(1000);
  }    
  funcB(10000);  
}
 
  
function funcA(count) {    
  for (var i = 0; i < count; i++) {}  
}
 
  
function funcB(count) {    
  for (var i = 0; i < count; i++) {}  
}
 
console.profile('性能分析器');
All();  
console.profileEnd();

在这里插入图片描述

12、占位符

console上述的集中度支持printf的占位符格式,支持的占位符有:字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o):

占位符作用
%s字符串
%d or %i整数
%f浮点数
%o可展开的DOM
%O列出DOM的属性
%c根据提供的css样式格式化字符串
console.log("%d年%d月%d日",2011,3,26);
// 格式成可展开的的DOM,像在开发者工具Element面板那样可展开 
console.log('%o',document.body.firstElementChild); 
// 像JS对象那样访问DOM元素,可查看DOM元素的属性 
// 等同于console.dir(document.body.firstElementChild) 
console.log('%O',document.body.firstElementChild);

console.log("%c这是标题!","color: red; font-size: 20px"); 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1811614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP STO跨公司间转储含POD交货操作简介

STO跨公司间转储含POD交货这个业务常见于集团性的公司&#xff0c; 1、同一个集团下A公司和B公司都是独立的&#xff0c;A公司向B公司进行采购。B公司会有一张交货单&#xff0c;然后基于交货单进行过账&#xff0c;收货&#xff0c;开票等操作。 2、当同一个公司下不同工厂间…

微信支付,微信平台证书如何下载,如何获取平台证书 wxpay如何初次获取平台证书 java初次生成平台证书, java生成微信platform.pem

1. 场景&#xff1a;使用ijpay&#xff0c;调用获取平台证书失败。 属于初次获取平台证书。 注&#xff1a;做返回校验使用&#xff0c;不校验好像也没事&#xff0c;但是支付无小事&#xff0c;强烈建议获取平台证书&#xff0c;校验后做回调相关处理&#xff01;&#xff01;…

【iOS】YYModel源码阅读笔记

文章目录 前言一、JSON转换库对比二、YYModel性能优化三、YYModel的使用四、架构分析YYClassInfo 剖析 五、流程剖析转换前准备工作 – 将JSON统一成NSDictionary将NSDictionary 转换为Model对象提取Model信息使用NSDictionary的数据填充Model 总结 前言 先前写了JSONModel的源…

学习了解 JSON Schema

在数字时代&#xff0c;数据的快速增长要求开发者掌握有效的管理和验证技术。JSON&#xff08;JavaScript Object Notation&#xff09; 是一种流行的轻量级数据交换格式&#xff0c;在网络编程中有广泛应用。为了应对复杂数据的挑战&#xff0c;JSON Schema 诞生&#xff0c;提…

C++九州控制地址结构else 陈述

else如同英文字义&#xff0c;九州qa98錪cc否则的意思&#xff0c;通常放在if的后面&#xff0c;若if的条件为真&#xff0c;就执行if底下大括弧围起来的程式区块&#xff0c;若为假&#xff0c;就执行else底下大括弧围起来的程式区块。 形式如下&#xff1a; 这个概念用于二选…

PostgreSQL Schema管理基础

Postgresql schema是什么、为什么它们很重要以及如何使用schema(模式)使您的数据库实现更加健壮和可维护&#xff1f;本文将介绍 Postgresql 中schema的基础知识&#xff0c;并通过一些基本示例向您展示如何创建它们。未来的文章将深入探讨如何保护和使用实际应用程序schema的示…

[linux]基于Ubuntu24.04原内核6.8.0升级到6.9.0

物理机操作系统&#xff1a; 虚拟机操作系统&#xff1a; Ubuntu 24.04 下载地址&#xff1a; https://mirror.nju.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso VM版本信息&#xff1a; 内核源代码来源&#xff1a; https://ftp.sjtu.edu.cn/sites/ftp.kern…

Open vSwitch 守护进程的 upcall 处理(re)

一、upcall 消息的类型 在 Open vSwitch 的数据包转发流程中&#xff0c;如果数据包在内核空间无法完全处理&#xff08;比如匹配不到流表项&#xff09;&#xff0c;就会发生 upcall 调用&#xff0c;将数据包从内核空间的 Datapath 模块传输至用户空间的 ovs-vswitchd 守护进…

Mybatis源码解读

MyBatis是我们工作中常见的ORM持久层框架&#xff0c;对于MyBatis并不能仅仅局限于会使用的阶段&#xff0c;更需要了解它的工作原理&#xff0c;想要了解原理&#xff0c;源码是必须要读的&#xff0c;这篇文章是我个人在阅读MyBatis的源码过程中的一些简单的总结&#xff0c;…

过孔开窗、过孔盖油、过孔塞油、过孔塞树脂的比较

一、过孔开窗、过孔盖油、过孔塞油、过孔塞树脂的比较: 过孔开窗是指过孔的焊环上面裸露,不盖油墨。如果做表面处理喷锡的话,焊环这里就类似于贴片焊盘上锡,可以用来焊接作用。 过孔盖油指的是via过孔的焊环上面不裸露,覆盖油墨,为避免板子使用时有短路等情况。

霍尼韦尔落地灯好用吗?书客、霍尼韦尔、柏曼护眼大路灯对比较量!

我们都知道光线无处不在&#xff0c;想要减少近视隐患&#xff0c;就不得不提一下护眼灯了&#xff0c;特别是经常坐在电脑前码字的上班族以及深夜还在学习的学生党这一类人群&#xff0c;经常用眼光线不好不仅影响视力健康&#xff0c;还会影响效率。而一款护眼灯能够提供柔和…

人工智能术语

1、人工智能的概念 人工智能概念&#xff0c;在1956年召开的达特茅斯会议上正式被提出。该会议是由信息学鼻祖克劳德.艾尔伍德.香农(ClaudeElwoodShannon)以及马文.明斯基(Marvin Minsky)、约翰.麦卡锡(JohnMcCarthy)等十位信息学、数学、计算机学的科学先驱&#xff0c;在美国…

红黑树的基本原理

目录 一.概念与性质 二.基本操作 1.建树 2.插入 情况一 情况二 3.查找 4.验证 三.红黑树与AVL树的比较 一.概念与性质 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根…

构建大语言模型友好型网站

以大语言模型为代表的AI 技术迅速发展&#xff0c;将会影响原有信息网络的方式。其中一个明显的趋势是通过chatGPT 对话代替搜索引擎和浏览器来获取信息。 互联网时代&#xff0c;主要是通过网站&#xff08;website&#xff09;提供信息。网站主要为人类阅读的方式构建的。主要…

✊构建浏览器工作原理知识体系(网络协议篇)

🌻 前言 书接上回~ 系列文章目录: # ✊构建浏览器工作原理知识体系(开篇)# ✊构建浏览器工作原理知识体系(浏览器内核篇)# ✊构建浏览器工作原理知识体系(网络协议篇)✊构建浏览器工作原理知识体系(网页加载超详细全过程篇)为什么你觉得偶尔看浏览器的工作原理,…

【稳定检索/投稿优惠】2024年艺术、语言与文化交流国际会议(ALCE 2024)

2024 International Conference on Art, Language, and Cultural Exchange 2024年艺术、语言与文化交流国际会议 【会议信息】 会议简称&#xff1a;ALCE 2024 截稿时间&#xff1a;点击查看 大会地点&#xff1a;中国桂林 会议官网&#xff1a;www.icalce.com 会议邮箱&#…

重生奇迹mu套装掉的地点一览

1、目前只有三个地方掉套装&#xff1a;赤色要塞&#xff0c;不是100%掉&#xff0c;靠运气。卡利玛7&#xff0c;杀困顿能掉。魔炼之地&#xff0c;只有城主盟成员可以进入。 2、只有攻城城主盟可以进入的地图“魔炼之地”掉套装&#xff0c;暴率几乎为0。如果你是敏法的话&am…

深圳宝安餐饮行业揭秘:可燃气体报警器校准方法与周期的重要性

在日益注重餐饮安全的今天&#xff0c;深圳宝安区的餐饮行业也在不断探索和实践更加有效的安全管理措施。其中&#xff0c;可燃气体报警器的使用与校准成为了保障餐饮场所安全的重要一环。 在这篇文章中&#xff0c;佰德将详细解析可燃气体报警器的重要性、深圳宝安餐饮现状、…

LLM定制的四个层次

LLM(Large Language Models)代表了一种提高生产力的创新方法。他们能够简化各种任务&#xff0c;显著提高整体效率。从提示工程到Agents可以分为四个层次。 Level-1: Prompt engineering Prompt是简明的输入文本&#xff0c;用作查询或指令&#xff0c;引导语言模型产生所需输…

借助Historian Connector + TDengine,打造工业创新底座

在工业自动化的领域中&#xff0c;数据的采集、存储和分析是实现高效决策和操作的基石。AVEVA Historian (原 Wonderware Historian) 作为领先的工业实时数据库&#xff0c;专注于收集和存储高保真度的历史工艺数据。与此同时&#xff0c;TDengine 作为一款专为时序数据打造的高…