Chrome 控制台的console用法收集

Chrome 控制台console的用法

大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方。可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上console.log

先的简单介绍一下chrome的控制台,打开chrome浏览器,按f12就可以轻松的打开控制台

大家可以看到控制台里面有一首诗还有其它信息,如果想清空控制台,可以点击左上角那个来清空,当然也可以通过在控制台输入console.clear()来实现清空控制台信息。如下图所示

现在假设一个场景,如果一个数组里面有成百上千的元素,但是你想知道每个元素具体的值,这时候想想如果你用alert那将是多惨的一件事情,因为alert阻断线程运行,你不点击alert框的确定按钮下一个alert就不会出现。

下面我们用console.log来替换,感受一下它的魅力。

看了上面这张图,是不是认识到log的强大之处了,下面我们来看看console里面具体提供了哪些方法可以供我们平时调试时使用。

目前控制台方法和属性有:

["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]

下面我们来一一介绍一下各个方法主要的用途。

一般情况下我们用来输入信息的方法主要是用到如下四个

1、console.log 用于输出普通信息

2、console.info 用于输出提示性信息

3、console.error用于输出错误信息

4、console.warn用于输出警示信息

用图来说话

5、console.group输出一组信息的开头

6、console.groupEnd结束一组输出信息

看你需求选择不同的输出方法来使用,如果上述四个方法再配合group和groupEnd方法来一起使用就可以输入各种各样的不同形式的输出信息。

哈哈,是不是觉得很神奇呀!

7、console.assert对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台

8、console.count(这个方法非常实用哦)当你想统计代码被执行的次数

9、console.dir(这个方法是我经常使用的 可不知道比for in方便了多少) 直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等

10、console.time 计时开始

11、console.timeEnd  计时结束(看了下面的图你瞬间就感受到它的厉害了)

12、console.profileconsole.profileEnd配合一起使用来查看CPU使用相关信息

在Profiles面板里面查看就可以看到cpu相关使用信息

13、console.timeLineconsole.timeLineEnd配合一起记录一段时间轴

14、console.trace  堆栈跟踪相关的调试

上述方法只是我个人理解罢了。如果想查看具体API,可以上官方看看,具体地址为:https://developer.chrome.com/devtools/docs/console-api

 

下面介绍一下控制台的一些快捷键

1、方向键盘的上下键,大家一用就知晓。比如用上键就相当于使用上次在控制台的输入符号

2、$_命令返回最近一次表达式执行的结果,功能跟按向上的方向键再回车是一样的

上面的$_需要领悟其奥义才能使用得当,而0 4则代表了最近5个你选择过的DOM节点。

什么意思?在页面右击选择审查元素,然后在弹出来的DOM结点树上面随便点选,这些被点过的节点会被记录下来,而$0会返回最近一次点选的DOM结点,以此类推,$1返回的是上上次点选的DOM节点,最多保存了5个,如果不够5个,则返回undefined

3、Chrome 控制台中原生支持类jQuery的选择器,也就是说你可以用$加上熟悉的css选择器来选择DOM节点

4、copy通过此命令可以将在控制台获取到的内容复制到剪贴板

(哈哈 刚刚从控制台复制的body里面的html可以任意粘贴到哪 比如记事本  是不是觉得功能很强大)

5、keys和values 前者返回传入对象所有属性名组成的数据,后者返回所有属性值组成的数组

说到这,不免想起console.table方法了

 

 

6、monitor & unmonitor

monitor(function),它接收一个函数名作为参数,比如function a,每次a被执行了,都会在控制台输出一条信息,里面包含了函数的名称a及执行时所传入的参数。

而unmonitor(function)便是用来停止这一监听。

看了这张图,应该明白了,也就是说在monitor和unmonitor中间的代码,执行的时候会在控制台输出一条信息,里面包含了函数的名称a及执行时所传入的参数。当解除监视(也就是执行unmonitor时)就不再在控制台输出信息了。

$ // 简单理解就是 document.querySelector 而已。
$$ // 简单理解就是 document.querySelectorAll 而已。
$_ // 是上一个表达式的值
$0-$4 // 是最近5个Elements面板选中的DOM元素,待会会讲。 dir // 其实就是 console.dir keys // 取对象的键名, 返回键名组成的数组 values // 去对象的值, 返回值组成的数组

 

下面看一下console.log的一些技巧

1、重写console.log 改变输出文字的样式

2、利用控制台输出图片

3、指定输出文字的样式

 最后说一下chrome控制台一个简单的操作,如何查看页面元素,看下图就知道了

你在控制台简单操作一遍就知道了,是不是觉得很简单!


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

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

相关文章

面向对象思想封装狙击手狙击敌人

需求:狙击手xxx使用xx枪,射击敌人xxx,敌人生命值归0,应声倒下分析设计类: 封装狙击手类 属性: 名字 行为:捡枪   装弹   射击封装枪类 属性: 型号 行为:射击封装弹夹类 属性&…

JavaScript 字符串处理方法总结

变量从字符串转换成int和float型 var weightincrease "2.5kg";undefinedparseInt(weightincrease);2parseFloat(weightincrease);2.5 字符串处理方法var words "鱼神是个帅哥";undefinedwords.length6words.charAt(0);"鱼"words.charAt(words.…

【js】vue 2.5.1 源码学习(二) 策略合并

一、 整体思路1 首先是代码的大体构造,先判断引入代码的环境,即对应amd 和cmd的处理2 vue_init 需要借助 initMinxin >>> // 初始化选项1: 规范 2: 合并策略。3 mergeOptions 选项合并 一个或者多个对象合并,并且生成一个…

解决公众号的加载问题

相关组件内设置的方法&#xff08;方法可以多处组件运用&#xff09; <x-input on-change"changeinp" on-blur"temporaryRepair();" on-enter"temporaryRepair();" name"mobile" :show-clear"false" placeholder"…

JavaScript 数组处理方法总结

数组处理方法//定义数组var array [];undefined//查看类型typeof(array);"object"//往数组里添加数据array [first,second,third]["first", "second", "third"]//数组长度array.length3//索引array[0]"first"//添加数组新…

今天第一次开通blog

纪念第一次开通转载于:https://www.cnblogs.com/struggle-star/p/10960491.html

前端设置,验证码登录

<group class"shadow" gutter"0"><x-input v-model"mobileCaptcha" placeholder"请输入手机验证码" class"weui-vcode" keyboard"number" :max"6"></x-input><button click"…

JQuery实现页面跳转

$(function(){ var pn $("#gotopagenum").val();//#gotopagenum是文本框的id属性 location.href "NewList.aspx?pagenum"pn;//location.href实现客户端页面的跳转 }); 今天我们就来说一说如何在jQuery中跳转到另外一个网页HTML。其实下面我列举的几…

pycharm安装lxml

今天下午刚学爬虫&#xff0c;要安好多库的感觉&#xff0c;崩溃 requests 首先我们用pip安装完成后&#xff0c;在pycharm里面还要导入进去&#xff0c;没有的话是会报错的 文件--设置--Project Interpreter 然后点击pip进去&#xff0c;搜索requests&#xff0c;再安装进去就…

JS生成动态表格并为每个单元格添加单击事件的方法

<html><head><title>Demo</title><script>function getColumnDetail(column) {column.style.color "blue"; //将被点击的单元格设置为蓝色 alert(column.innerHTML); //弹出被点单元格里的内容 }<!--trLineNumber为动态表格行数&a…

6.1团队第二阶段冲刺(七)

燃尽图&#xff1a; 任务板: 会议照片&#xff1a; 昨天完成了管理员对发布人的查询功能&#xff0c;条件查询功能以及一系列常用小功能 今天完成了功能说明部分及其那部分界面美化&#xff0c;所有界面的退出以及回到首页的功能及首页美化等 明天打算做信息分页显示&#xff0…

Jquery 获取日期date()对象,jquerydate

Jquery 获取日期date()对象&#xff0c;jquerydate 获取JavaScript 的时间使用内置的Date函数完成 var mydate new Date(); mydate.getYear(); //获取当前年份(2位) mydate.getFullYear(); //获取完整的年份(4位,1970-????) mydate.getMonth(); //获取当前月份(0-11,0代表…

redis的安装和使用【2】redis的java操作

1、前提约束熟悉redis的命令行操作 https://www.jianshu.com/p/26f6e85e600f修改redis.conf# 配置绑定ip&#xff0c;作者机子为192.168.100.192&#xff0c;请读者根据实际情况设置bind 192.168.100.192#非保护模式protected-mode no保存重启 2、操作2.1 使用idea创建一个mave…

Vue多字段下的非空判断(new Promise)

// 利用 ref 获取相关组件中的数值checkInfo(){let Insured this.$refs.Insured.mastdata; //参保量let technology this.$refs.drugs.mastdata; //技术let business this.$refs.business.mastdata; //商务return new Promise((resolve,reject) > {if (!Insured.usern…

(function ( ){...})( ) IIFE 的原理

你需要明白 IIFE 的原理&#xff0c;我简单说一下&#xff1a; function foo() {...} // 这是定义&#xff0c;Declaration&#xff1b;定义只是让解释器知道其存在&#xff0c;但是不会运行。foo(); // 这是语句&#xff0c;Statement&#xff1b;解释…

内部类的用法

第十章 内部类 10.1如何定义内部类 如代码10.1-1 所示 public class Parcel1 {public class Contents{private int value 0;public int getValue(){return value;}} } 这是一个很简单的内部类定义方式,你可以直接把一个类至于另一个类的内部&#xff0c;这种定义Contents类的方…

在vue项目中使用树形结构的穿梭框

先看一下最后的效果&#xff1a; 一个基于elementui的穿梭框组件&#xff1a;el-tree-transfer 第一步&#xff1a;安装组件 npm install el-tree-transfer --save 第二步&#xff1a;写代码 // 使用树形穿梭框组件<tree-transfer :title"title" :from_datafromDa…

导航跳转后保持选中状态 jquery高亮当前选中菜单

功能需求&#xff1a; 今天在写一个站点需要用到在导航菜单点击链接跳转到新页面后&#xff0c;高亮当前菜单样式。 简单的说&#xff0c;就是我点击导航菜单中的一个栏目&#xff0c;跳转到该栏目下&#xff0c;该栏目菜单也同时高亮&#xff08;可以是背景色也可以是背景图片…

eacharts中国地图省市区点击显示

1.安装echarts.js 相关模块 npm i echarts2. 在 main.js 文件中搭建全局 // 引入echarts import echarts from echarts Vue.prototype.$echarts echarts3.vue文件种引入相关文档 import echarts from "echarts"; import "./china.js"; // 引入中国地图…

CF2B The least round way(贪心+动规)

题目 CF2B The least round way 做法 后面\(0\)的个数&#xff0c;\(2\)和\(5\)是\(10\)分解质因数 则把方格中的每个数分解成\(2\)和\(5\)&#xff0c;对\(2\)和\(5\)求两边动规&#xff0c;得出最小值\(ansmin(num_2,num_5)\) 我们贪心地选择最小值所对应的\(2\)或\(5\)&…