你不知道的console

平时在前端开发中我们常用的两个调试方法alert()和console,以前我很喜欢用alert,现在发现还是console更方便一点

其实还有一个就是在代码行里写debugger,然后打开F12就是看见断点了

console方法:

平时我们使用最多的是console.log()

但大部分人都不知道console其实还有很多方法可以方便我们调试代码,下面我们来盘点一下↓

首先就是我们打印console时用的这个方法:console.dir()就是可以打印显示一个对象所有的属性和方法。其实console.log()也可以,但console.dir()是专门干这个的,比如打印String这个对象

这时候console.log()就打印不出来所有属性和方法了

接下来我们就按打印出的顺序一个个看看:(下面小蓝色标题都是已验证,黑色标题待验证中...)

1.console.assert(flag,res)

作用:对输入的表达式进行判断,当表达式为true时,不执行在控制台输出信息的操作,当表达式为false时,在控制台中输出对应的信息。

参数:flag表示表达式,res示例代码。看示例↓

2.console.clear()

这个应该不用多说,其实就是浏览器里这个功能,清除当前控制台的所有输出,将光标回置到第一行。

3.console.context()

看字面意思是输出上下文,暂时还没发现有什么用??,后续补上。。。

4.console.count()

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

5.console.countReset()

计数重置

6.console.debug()

7.console.dir()

上面已经说过:可以打印显示一个对象所有的属性和方法。

8.console.dirxml()

其实这个方法也可以当console.dir()来使用(打印出来有的对象会有不同),但如果打印的对象是一个获取的DOM节点的话,就会把这个节点完整的html代码打印在控制台,同时你可以在控制台上操作这段html代码?页面上对应的节点也会发生变化

9.console.error()

输出信息时,在最前面加一个红色的叉,表示出错,同时会显示错误发生的堆栈。

10.console.group()

用于将显示的信息分组,可以把信息进行折叠和展开。

11.console.groupCollapsed()

与console.group方法很类似,唯一的区别是该组的内容,在第一次显示时是收起的(collapsed),而不是展开的。

12.console.groupEnd()

配合上面10和11使用

13.console.info()、14.console.log()

这两个方法感觉没啥区别:就是输出信息

15.console.memory

用于显示此刻使用的内存信息。

如果你发现性能问题很难分析,可能还要考虑是否有内存泄露,你可以使用console.memory(注意memory是console的属性,不是函数),来查看当前的堆的使用情况。

16.console.profile()、17.console.profileEnd()

这两个方法也是配合在一起使用:性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在。

18.console.table()

将复合类型的数据转为表格显示,同时也打印出该对象

打印多层list

19.console.time()、20.console.timeEnd()

这两个方法一般都是放在一起使用,就是用来计算他们两之间的代码执行所用的时间

21.console.timeLog()

22.console.timeStamp()

产生一个时间轴标志,仅在启用时间轴面板时有效。

23.console.trace()

追踪函数的调用过程

24.console.warn()

类似console.error()打印前面有个感叹号

console的其他特性

可支持打印的占位符

字符——%s

整数——%d或%i

对象——%o

浮点数——%f

原文地址:https://www.cnblogs.com/bobo1/p/11617240.html

时间: 2024-12-18 19:47:16

你不知道的console的相关文章

开发者工具拾遗

概述 之前写过你不知道的console调试,再加上在工作中开发者工具用得不少,本来以为懂得很多了,但是看了Chrome开发者工具系列之后还是觉得有一些我不知道的功能还挺方便的,下面记录下来,供以后开发时参考,相信对其他人也有用. Elements 我们经常在开发者工具的Elements面板去查看DOM和styles,但是它还有下面2个有用的功能: 激发active, hover等状态,方法是鼠标移动到某个DOM上面点右键,然后就有active, hover等选项了.以前我都是在style里面去改

你不知道的javascript(中卷)笔记

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>你不知道的javascript(中卷)</title> </head> <body> <script type="text/javascript"> /* //封装对象包装 var a = new Boolean(false); if(!a)

JavaScript arguments你不知道的秘密

(function test(x){ x=10; console.log(arguments[0], x); //undefined, 10 })(); (function test(x){ x=10; console.log(arguments[0]); // 10 })(1); (function test(x){ x=10; arguments[0]=2; console.log(x, arguments[0]); //10 ,2 })(); (function test(x){ x=10

Java和C#中的接口对比(有你不知道的东西)

Java和C#中的接口对比(有你不知道的东西) 1.与Java不同,C#中的接口不能包含字段(Field). 在java中,接口中可以包含字段,但是这些字段隐式地是static和final的.而C#不允许接口中有字段,编译器在编译时就会提示错误(如下代码所示). interface IInterface { int a ;//编译器错误提示:接口不能包含字段 } 2.在C#和Java中,接口内的所有方法默认都是公用方法. 在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C

你不知道的JavaScript--Item31 值得你挑战的JavaScript面试题(45题)

你不知道的JavaScript系列,已经有这么多篇博文了,今天找了一些题目,我觉得,下面这些是你"不可能全部会做 " 的javascript题目,不信你可以试试,答案在后面的博客给出,也许你是jser大神,欢迎挑战一下! 给答对一半以上的同学点10086个赞!!!!!!双十一的夜晚,和你们一起High起来!!!!!!!!!!!!!!!!!! 1,以下表达式的运行结果是: ["1","2","3"].map(parseInt)

JavaScript作用域闭包(你不知道的JavaScript)

JavaScript闭包,是JS开发工程师必须深入了解的知识.3月份自己曾撰写博客<JavaScript闭包>,博客中只是简单阐述了闭包的工作过程和列举了几个示例,并没有去刨根问底,将其弄明白! 现在随着对JavaScript更深入的了解,也刚读完<你不知道的JavaScript(上卷)>这本书,所以乘机整理下,从底层和原理上去刨一下. JavaScript并不具有动态作用域,它只有词法作用域.词法作用域是在写代码或者说定义时确定的,而动态作用域是在运行时确定的.了解闭包前,首先我

JavaScript提升(你不知道的JavaScript)

最近,在读<你不知道的JavaScript(上卷)>这本书,书中详细阐述了JavaScript众多重要但经常被大家忽略的点,在此强烈推荐!!!书中,第4章讲述了"提升",从示例出发讲述了变量和函数提升的过程,纠正了自己以前错误的理解(相信好多人理解都是错误)! 我们习惯将var a = 2;看做一个声明,而实际上JavaScript引擎不这么认为!下面几个示例让你彻底搞懂JavaScript中的变量提升! 示例1: a = 2; var a ; console.log(a)

《你不知道的JavaScript》整理(二)——this

最近在读一本进阶的JavaScript的书<你不知道的JavaScript(上卷)>,这次研究了一下“this”. 当一个函数被调用时,会创建一个活动记录(执行上下文). 这个记录会包含函数在哪里被调用(调用栈).函数的调用方法.传入的参数等信息. this就是记录的其中一个属性,会在函数执行的过程中用到. this既不指向函数自身也不指向函数的作用域. this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用. 一.调用位置 调用位置就在当前正在执行的函数的前一个调用中

你不知道的东西! c# == 等于运算符 和 Object.Equals()

最近在看 高级点的程序员必看的     CLR via C#    书中说解释了 Object.Equals()  方法的实现, 其中具体的实现用的是 == 运算符 ! 以前就对 == 运算符 的具体实现  产生过疑惑 . 它到底对比的什么? 今天刚好手头的东西弄完了,而且还得强制加班中 !  所以就那今天的加班时间 来认真 来看一下 == 运算符 ! 最早对于 == 和 Object.Equals()  的了解是来源于 很早以前的一次面试 上面的面试题就有这个问题, 非常遗憾是 当时我水平有限