console.log 的用法
大家用过的浏览器当中,我是最喜欢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.debug用于输出调试信息
用图来说话
console对象的上面5种方法,都可以使用printf风格的占位符。不过,占位符的种类比较少,只支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)四种。
console.log("%d年%d月%d日",2011,3,26);console.log("圆周率是%f",3.1415926);
%o占位符,可以用来查看一个对象内部情况
var dog = {};dog.name = "大毛";dog.color = "黄色";console.log("%o", dog);
6、console.dirxml用来显示网页的某个节点(node)所包含的html/xml代码
A A A bbb aaa ccc 111 333 222 window.onload = function () { var mytable = document.getElementById(‘mytable‘); console.dirxml(mytable); }
7、console.group输出一组信息的开头
8、console.groupEnd结束一组输出信息
看你需求选择不同的输出方法来使用,如果上述四个方法再配合group和groupEnd方法来一起使用就可以输入各种各样的不同形式的输出信息。
哈哈,是不是觉得很神奇呀!
9、console.assert对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台
10、console.count(这个方法非常实用哦)当你想统计代码被执行的次数
11、console.dir(这个方法是我经常使用的 可不知道比for in方便了多少)直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等
12、console.time 计时开始
13、console.timeEnd计时结束(看了下面的图你瞬间就感受到它的厉害了)
14、console.profile和console.profileEnd配合一起使用来查看CPU使用相关信息
在Profiles面板里面查看就可以看到cpu相关使用信息
15、console.timeLine和console.timeLineEnd配合一起记录一段时间轴
16、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控制台一个简单的操作,如何查看页面元素,看下图就知道了
作者:筱筱2019
链接:https://www.jianshu.com/p/10fc2c1e6d43
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
console.log 的用法相关推荐
- javaScript中console.log()的用法
console.log()类似于alert啊,不过不会打断操作.主要是方便调式javascript用的.你可以看到你在页面中输出的内容,不过需要浏览器支持控制台输出.在浏览器界面使用快捷键 F12 就 ...
- 控制台输出console.log()的用法
用console.log代替alert和document.write,工作会变得轻松.用console.log在控制台展开对象查看具体信息,可以直接看到对象信息,而不会显示[object Object ...
- js调试之console.log()
俗话说的好,不会前端是phper不是好的php,可是我这对前端真的是一窍不通,连基础的ajax都差点不会写.调试也花了不少时间,因此在这里记录一下. 一.console.log()的定义 consol ...
- 【译】如何停止使用console.log()转而使用浏览器debugger
如何停止使用console.log()转而使用浏览器debugger 原文地址:How to stop using console.log() and start using your browser ...
- html5 console.log,这5个 console.log() 技巧帮你提高工作效率
作者:Dmitri Pavlutin 译者:前端小智 来源:dmitripavlutin. 点赞再看,养成习惯 本文 GitHub https://github.com/qq44924588... 上 ...
- java script console_JS调试之console.log()作用与用法
在前端调试js代码的时分,许多人都喜欢用 alert() 来进行调试,不过 alert() 会阻断JS的运行,并且对少许范例的变量无法输出,这就导致了很多的麻烦.针对这个问题,这篇文章就说一说js中的 ...
- console的高级用法,console.log带颜色的字
先展示效果图: <!-- /*** @Author: Ding Jianlong* @Date: 2018-11-08 14:37:05* @Last Modified by: Ding Jia ...
- HTML控制台输出console,Javascript的console.log()用法
把下面代码保存为html文件,然后IE8---F12---脚本---控制台里就会出现有趣的东西,如果是Firefox,安装了FireBug后,则F12--控件台--所有 ,同样可以看到. javasc ...
- console.log()用法
对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式. 原因在于:alert()函数会阻断JavaScript程序的执行 lert弹出框需要点击确认 ...
最新文章
- http android下载工具,Android实现下载工具的简单代码
- T和ClassT以及Class?的理解
- 【错误记录】发布 Flutter 插件包报错 ( It‘s strongly recommended to include a “homepage“ or “repository“ field )
- C六:指针可以比较大小
- 基于Shibbloet实现的SSO单点登录
- springboot打包不同环境配置与shell脚本部署
- centos树莓派版本安装ssh_Raspberry Pi 4B(树莓派4B)远程ssh和jupyter lab环境搭建记录
- 索引和未索引执行计划的比较_详解Oracle复合索引+实例说明
- python回收机制
- java给按钮加声音_怎么在java中给按钮添加声音?
- 【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...
- NUC1474 Ants【水题】
- 三子棋 小游戏 C++
- 佳能Canon PIXMA MP630 一体机驱动
- macbook linux 双系统,Mac双系统切换及设置技巧
- gmail 邮件客户端设置
- arukas.io免费搭建个人私有***方式
- RGMII_PHY测试笔记1 基于开发板MiS603-X25
- 动态规划---例题5.凸多边形最优三角剖分问题
- 关于安全领域方向上学习的一点个人见解
热门文章
- cocos studio 3.10 垂死挣扎版1.1 发布啦,带使用视频
- Mac OS 12.3系统版本使用AccessClient堡垒机跳转闪退问题记录
- vue中的slot(插槽)详解
- 利用css制作3D照片墙
- 创建VMware集群
- 顶会速递 | ICLR 2020录用论文全集
- qq农场不换html5还用flash,QQ农场使用问题完整解答(6)
- 计算机 发声原理,模拟电子琴演奏程序设计。微机中扬声器控制发声原理如练习图10.1所示,其中用到8255与8253两个芯片。...
- Vue渲染器(一):渲染器的设计
- leetcode 974. Subarray Sums Divisible by K的解法(统计共同余数)