浏览器console的用法

  1. 云栖社区>
  2. 博客>
  3. 正文

浏览器console的用法

一坨翔 2017-09-04 10:31:49 浏览847
展开阅读全文
自由、创新、研究、探索 Linux/Windows Mono/DotNet [ Open Source .NET Development/ 使用开源工具进行DotNet软件开发]
锐意进取,志存高远.成就梦想,只争朝夕.从你开始,创新世界.【That I exist is a perpetual supprise which is life. Focus on eCommerce】

导航

<</a> 2017年5月 >
30 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10
公告

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控制台一个简单的操作,如何查看页面元素,看下图就知道了

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

 
分类: [15]Dev Tools
标签: javascriptchrome
posted on 2014-11-23 21:06 HackerVirus 阅读(21294) 评论(4)  编辑 收藏
评论
  • huanglike   Posted @  2015-12-11 10:39
    真心好,很实用,很强大!
      
  • zer   Posted @  2016-02-08 15:14
    博主 讲解的很好 ~以前一直当简单的打印信息用。涨经验了 谢谢
      
  • web全端小屋   Posted @  2016-07-25 14:10
    烦恼歌_这要亮了
      
  • web全端小屋   Posted @  2016-07-25 17:31
    下面看一下console.log的一些技巧
    1、重写console.log 改变输出文字的样式 
    2、利用控制台输出图片 
    3、指定输出文字的样式
    这块感觉就没必要了,控制台敲那么多css代码容易出错,还是到DW或Sublime里面写比较合适。

    console.profile和console.profileEnd图看不大懂,
    console.timeLine和console.timeLineEnd 、monitor & unmonitor有什么好处,特别是monitor & unmonitor感觉没用啊
      
注册用户登录后才能发表评论,请 登录 或 注册访问网站首页。
udacity
阿里云C2
历史上的今天:
2013-11-23 用ASP.net判断上传文件类型的三种方法
2013-11-23 C#中利用JQuery实现视频网站
2013-11-23 云计算和大数据
2013-11-23 github上写个人简历
2013-11-23 系统小结
2013-11-23 ASP.NET中使用HttpWebRequest调用WCF
2013-11-23 什么是Angular JS?
2013-11-23 System.Net.Http 简介
2013-11-23 分享完整的项目工程目录结构
2013-11-23 2014年糯米网校
2013-11-23 高并发非自增ID如何设计?
2013-11-23 Asp.Net中使用Couchbase——Memcached缓存使用篇
2013-11-23 协作图(通信图)collaboration diagram
2013-11-23 Hadoop企业级应用
2013-11-23 将网站固定到开始菜单,自定义图标、颜色和Windows推送通知
2013-11-23 Caliburn Micro框架
2012-11-23 LINQ框架
2011-11-23 极速理解设计模式系列
2011-11-23 .Net下的MIS系统架构设计系列-和-Asp.Net大型项目实践
2011-11-23 MS CRM 2011的自定义和开发—CRM web服务介绍——IDiscoveryService
2011-11-23 Knockout简介 (Introduction)
2011-11-23 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解
2010-11-23 C# IEnumerable、IEnumerator、List、ArrayList、[]数组各各的区别
2010-11-23 ActiveWriter Preview 4.1 for VS2008
2010-11-23 [转]ActiveWriter----集成到VS.NET的NHibernate(ActiveRecord)对象可视化设计工具
Powered by: 
博客园 
Copyright © HackerVirus

网友评论

登录后评论
0/500
评论
一坨翔
+ 关注