Chrome开发者工具使用教程(全)从小就喜欢编程

Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效:

大家都会用log,但鲜有人很好地利用console.error,console.warn等将输出到控制台的信息进行分类整理。他们功能区别不大,意义在于将输出到控制台的信息进行归类,或者说让它们更语义化。各个所代表的语义如下:

当合理使用上述log方法后,可以很方便地在控制台选择查看特定类型的信息。

console.log('一颗红心向太阳','吼吼~');console.info('楼上药不能停!');console.warn('楼上嘴太贱!');console.error('楼上关你毛事?');

如果再配合console.group与console.groupEnd,可以将这种分类管理的思想发挥到极致。这适合于在开发一个规模很大模块很多很复杂的WebAPP时,将各自的log信息分组到以各自命名空间为名称的组里面。

console.group("app.foo");console.log("来自foo模块的信息blahblahblah...");console.groupEnd();console.group("app.bar");console.log("来自bar模块的信息blahblahblah...");console.groupEnd();

而关于console.log,早已被玩儿坏了。一切都源于Chrome提供了这么一个API:第一个参数可以包含一些格式化的指令比如%c。

比如给helloworld做件漂亮的嫁衣再拉出来见人:

console.log('%chelloworld','font-size:25px;color:red;');

如果你觉得不够过瘾,那就把你能写出来的最华丽的CSS样式都应用上吧,比如渐变。于是你可以得到如下华丽丽的效果:

console.log('%chelloworld','background-image:-webkit-gradient(linear,lefttop,righttop,color-stop(0,#f22),color-stop(0.15,#f2f),color-stop(0.3,#22f),color-stop(0.45,#2ff),color-stop(0.6,#2f2),color-stop(0.75,#2f2),color-stop(0.9,#ff2),color-stop(1,#f22));color:transparent;-webkit-background-clip:text;font-size:5em;');

各种招大招的节奏啊~

看着上面摇摆的豆比兔是不是有种抽它一脸的冲动。

vardata=[{'品名':'杜雷斯','数量':4},{'品名':'冈本','数量':3}];console.table(data);

另外,console.log()接收不定参数,参数间用逗号分隔,最终会输出会将它们以空白字符连接。

console.log('%c你好','color:red;','小明','你知道小红被妈妈打了么');

当你想代码满足某些条件时才输出信息到控制台,那么你大可不必写if或者三元表达式来达到目的,cosole.assert便是这样场景下一种很好的工具,它会先对传入的表达式进行断言,只有表达式为假时才输出相应信息到控制台。

varisDebug=false;console.assert(isDebug,'开发中的log信息。。。');

functionfoo(){ //其他函数逻辑blahblah。。。 console.count('foo被执行的次数:');}foo();foo();foo();

将DOM结点以JavaScript对象的形式输出到控制台而console.log是直接将该DOM结点以DOM树的结构进行输出,与在元素审查时看到的结构是一致的。不同的展现形式,同样的优雅,各种体位任君选择反正就是方便与体贴。

console.dir(document.body);console.log(document.body);

输出一些调试信息是控制台最常用的功能,当然,它的功能远不止于此。当做一些性能测试时,同样可以在这里很方便地进行。比如需要考量一段代码执行的耗时情况时,可以用console.time与console.timeEnd来做此事。

这里借用官方文档的例子:

console.time("Arrayinitialize");vararray=newArray(1000000);for(vari=array.length-1;i>=0;i--){array[i]=newObject();};console.timeEnd("Arrayinitialize");

当然,我们也可以选择自己写代码来计时:

varstart=newDate().getTime();vararray=newArray(1000000);for(vari=array.length-1;i>=0;i--){array[i]=newObject();};console.log(newDate().getTime()-start);

所以在我看来这两个方法有点鸡肋,因为都可以通过操作界面来完成。但至少他提供了一种命令行方式的交互,还是多了种姿势供选择吧。

似乎美刀总是被程序员及各种编程语言所青睐「你看看PHP代码就知道PHPer有多爱钱了」,在Chrome的控制台里,$用处还真是蛮多且方便的。$_命令返回最近一次表达式执行的结果,功能跟按向上的方向键再回车是一样的,但它可以做为一个变量使用在你接下来的表达式中:

2+2//回车,再$_+1//回车得5

上面的$_需要领悟其奥义才能使用得当,而$0~$4则代表了最近5个你选择过的DOM节点。什么意思?在页面右击选择审查元素,然后在弹出来的DOM结点树上面随便点选,这些被点过的节点会被记录下来,而$0会返回最近一次点选的DOM结点,以此类推,$1返回的是上上次点选的DOM节点,最多保存了5个,如果不够5个,则返回undefined。

另外值得一赞的是,Chrome控制台中原生支持类jQuery的选择器,也就是说你可以用$加上熟悉的css选择器来选择DOM节点,多么滴熟悉。

$('body')

$(selector)返回的是满足选择条件的首个DOM元素。剥去她伪善的外衣,其实$(selector)是原生JavaScriptdocument.querySelector()的封装。同时另一个命令$$(selector)返回的是所有满足选择条件的元素的一个集合,是对document.querySelectorAll()的封装。

$$('div')

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

copy(document.body)然后你就可以到处粘了:

看完此条命令行,机智的你是不是跟脑洞全开的我一样,冒出了这样一个想法:那就是通过这个命令可以在JavaScript里进行复制操作从而不用依赖Flash插件了。But现实是残酷的,如之前所述的,这里的控制台命令只能在控制台中环境中执行,因为他不依附于任何全局变量比如window,所以其实在JS代码里是访问不了这个copy方法的,所以从代码层面来调用复制功能也就无从谈起。但愿有天浏览器会提供相应的JS实现吧~

这是一对基友。前者返回传入对象所有属性名组成的数据,后者返回所有属性值组成的数组。具体请看下面的例子:

vartboy={name:'wayou',gender:'unknown',hobby:'oppositetothegender'};keys(tboy);values(tboy);

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

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

functionsayHello(name){ alert('hello,'+name);}monitor(sayHello);sayHello('wayou');unmonitor(sayHello);sayHello('wayou');

debug同样也是接收一个函数名作为参数。当该函数执行时自动断下来以供调试,类似于在该函数的入口处打了个断点,可以通过debugger来做到,同时也可以通过在Chrome开发者工具里找到相应源码然后手动打断点。而undebug则是解除该断点。

而其他还有好些命令则让人没有说的欲望,因为好些都可以通过Chrome开发者工具的UI界面来操作并且比用在控制台输入要方便。

THE END
1.来自Microsoft开发人员工具的示例代码MicrosoftLearn查看Microsoft 开发人员工具和技术的代码示例。 浏览并发现可以使用 .NET、Azure 或 C++ 等产品构建的内容。https://docs.microsoft.com/zh-cn/samples/browse/
2.如何使用开发者工具?开发者工具使用教程在Chrome中使用开发者工具 1. 检查网页上的元素 这可以让我们很容易地选择网页上的任何元素。让我们假设您想要检查页面的一个部分,而您在查找该部分的代码时遇到了困难。你能做的就是按下键盘上的“CTRL + Shift + I”打开开发人员工具,然后点击如下所示的小箭头图标。 https://blog.csdn.net/nhb687095/article/details/142332172
3.excel开发者工具怎么用excel宏的使用教程1.工具栏 工具栏包括了VBE页面的绝大多数实际操作,数据量较为大。大家关键从下列一些层面开展详细介绍: 1)调成对话框:点一下菜单栏-查询,全部对话框都能够表明在里面。 2)编码调节:点一下工具栏-调节,能够见到日常写完以后假如要调节VBA编码的运作,必须使用这儿的初始化作用。创作者的E图表明,一般应用“逐字逐句https://www.dkewl.com/course/detail6582.html
4.微信web开发者工具64位的教程完美锦囊技巧教程资讯微信web开发者工具主要用于辅助开发者简单高效的开发和调试基于微信的网页或小程序,具备开发调试、代码编辑及程序发布等功能,让开发者更好的在PC或者Mac上进行开发和调试工作。微信web开发者工具利用集成的Chrome DevTools和基本的移动调试模块,协助开发者进行开发,而且使用非常方便,是开发者编程的福音! https://tech.wmzhe.com/article/83905.html
5.GoogleChrome浏览器开发者工具使用教程51CTO博客Google Chrome 浏览器 开发者工具 使用教程 对于Chrome 浏览器,除了占用内存的缺点,其他都很不错。对于Chrome 浏览器的开发者工具,Jeff 除了Elements、Resources、Network、Console这四个标签页用得比较多外,其他的都甚少理解。今天偶然看到一篇Chrome 浏览器开发者工具的使用教程,感觉不错,顺便转载在这里,感谢原作者的https://blog.51cto.com/u_16120380/6311710
6.GoogleChrome谷歌/火狐/Safari浏览器开发者工具基本使用教程在阅读下面内容之前,那么些简单的了解浏览器开发者工具到底是什么东西,到底有什么用途。 浏览器开发者工具到底是什么? 其实简单的说,浏览器开发者工具就是给专业的web应用和网站开发人员使用的工具,当然只要你有兴趣想要了解,只要你对这个世界充满这好奇,什么东西你都可以了解。 https://cloud.tencent.com/developer/article/1504862
7.如何使用网站调试工具(如Chrome开发者工具或Firebug)诊断和解决网站错误如何使用网站调试工具(如Chrome开发者工具或Firebug)诊断和解决网站错误和问题的教程和技巧 网站调试工具是开发者在开发和维护网站时的必备利器。它们可以帮助我们诊断和解决各种网站错误和问题,从而确保网站的正常运行和良好的用户体验。本文将介绍如何使用常见的网站调试工具(如Chrome开发者工具和Firebug),并分享一些调试https://wenku.baidu.com/view/3d312850ccc789eb172ded630b1c59eef8c79afd.html
8.apk开发者助手使用教程在Android开发中,APK(Android Package)是指安装包文件,它是Android应用程序的打包文件,包含了应用程序的代码、资源和清单文件。开发者在Android Studio中生成APK安装包,是将应用程序打包成可安装的APK文件,方便用详情 studio生成apk安装包 在Android开发中,APK(Android Package)是指安装包文件,它是Android应用程序的打包http://www.anzhuoe.net/apk-dabao-1244.html
9.开发者测试调试工具Xdebug安装及集成使用教程Xdebug的一个伟大方面是它的灵活性。无论你喜欢哪种框架或开发环境,你都能找到适合你工作流程的Xdebug版本。从这里开始,掌握这个工具不会花很长时间。 本教程将深入研究Xdebug,包括安装过程、将其集成到你的设置中,以及一般使用方法。 首先,让我们给你更多关于Xdebug是什么和它做什么的背景。 https://www.wbolt.com/xdebug.html
10.微信小程序开发者工具下载安装教程及注意事项启动:先启动7版本(桌面上只有一个快捷方式,所以要到安装目录下启动主程序),回车退出,再启动9版本即可使用。 补充教程:破解补丁需要替换两个文件,如有问题请安装开发者工具0.7版本登录后再用0.9版本打开。 开发人员须知 1、微信公众平台开发,是指微信公众号的业务开发、移动应用开发、PC网站开发、公众号第三方平台开发http://www.bjhwtx.com/h-nd-155151.html
11.视频教程目录 开源框架App使用教程 Gokit3入门视频(2016) ECE雾计算入门教程 Gokit 开发视频(2015) 2016年机智云开发者大会主题分享 1 机智云4.0 2 机智云4.0产品介绍 3 机智云4.0人工智能 4 快速玩转APP开发 5 一步智能,无须代码开发的智能化解决方案 6 智能热潮来袭,净水行业的互联网时代 7 通过PaaS平台进行物联垂直http://docs.gizwits.com/zh-cn/UserManual/hide/videos.html
12.浏览器F12开发者工具控制台如何设置英文界面更改中文界面图文教程有的浏览器安装完后F12开发者工具控制台是英文版的如下图,显示的是英文界面,对于英语不好的小白来说很多功能都不太明白和使用,百度查找相关参考文章更改成中文界面后简单写个教程记录下以免下次要用到的时候忘记怎么设置!同时也给需要同学提供一丢丢帮助吧 https://www.ahaoyw.com/article/822.html
13.数据库设计工具MySQLWorkbench使用教程(超级详细!)MysqlMySQL Workbench为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能,下面这篇文章主要给大家介绍了关于MySQL设计工具Workbench使用的相关资料,需要的朋友可以参考下+ 目录 GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】 https://www.jb51.net/article/275612.htm
14.GitHub上高质量有趣实用的开源技术教程开发者工具编程坚持分享 GitHub 上高质量、有趣实用的开源技术教程、开发者工具、编程网站、技术资讯。A list cool, interesting projects of GitHub. - flywingjie/GitHubDailyhttps://github.com/flywingjie/GitHubDaily