你不知道的console.log
前言
对于前端开发者,使用console.log()
次数绝对很多,但是大部分人认识的 console
对象还不是很全面,其实深入了解这些后,你会发现给开发过程带来很多便利,而且还很有趣。
先来看看别人的控制台。
天猫(还加入了字符画)
百度(这个大家都不陌生,最近还稍微有点改变)
再来看下我博客的
是不是感觉你之前用的console.log()
弱爆了,别着急往下看。
重新认识 console
你好我是console
,重新认识一下吧。
正在阅读这篇文章的你,F12
打开你的控制台,切到Console
输入console
输出看看这个对象
是不是惊呆了,除了常用的 log
方法还有这么多方法。
console.log() 输出普通信息
console.info() 输出提示信息
console.error() 输出错误信息
console.warn() 输出警告信息
上面这些就不演示了。
console.dir()
显示对象的所有的属性和方法
var obj = { str: 'youhun', num: 1, func: function(){ console.log('a') } }; console.dir(obj);
console.tabel()
传入对象/数组,以表格形式输出
var obj = { foo: { name: 'foo', age: '33' }, bar: { name: 'bar', age: '45' } }; var arr = [ ['foo', '33'], ['bar', '45'] ]; console.table(obj); console.table(arr);
console.time()
计时器,可以将成对的console.time()
和console.timeEnd()
之间代码的运行时间输出到控制台上
console.time('计时器'); for (var i = 0; i < 1000; i++) { for (var j = 0; j < 1000; j++) {} } console.timeEnd('计时器');
console.group() 和 console.groupCollapsed()
输出嵌套,就是分组,同样支持多层嵌套
console.group('第一层'); console.log('第一层里面'); console.group('第二层'); console.log('第二层里面'); console.groupEnd(); console.groupEnd();
ps:console.group
默认是展开状态,console.groupCollapsed
默认是收起状态
console.trace()
用来追踪函数的调用轨迹。大型项目中,这尤为重要。
function add(a, b) { console.trace("Add function"); return a + b; } function add3(a, b) { return add2(a, b); } function add2(a, b) { return add1(a, b); } function add1(a, b) { return add(a, b); } var x = add3(1, 1);
console.count()
输出执行次数
(function() { for (var i = 0; i < 5; i++) { console.count('count'); } })();
console.assert()
条件输出,接收两个参数。第一个参数为真时,不输出内容,否则显示,并抛出来一个异常。
console.assert(1 == 1, '你看不到我'); console.assert(1 == 2, '你看到我了');
console.log 的高级玩法
这个为什么单独拿出来说,正是因为这个玩法多样。会了,你可以像文章开头举例那些,做出自己喜欢的console.log
占位符
- %s 格式化成字符串输出
- %d or %i 格式化成整数输出
- %f 格式化成浮点数输出
- %o 转化成展开的DOM元素输出
- %O 转化成JavaScript对象输出
- %c 字符串增加样式输出
var arr = ["小明", "小红"]; var obj = {name:'youhun'} console.log("欢迎%s和%s两位新同学",arr[0],arr[1]); console.log("圆周率整数部分:%d,带上小数是:%f",3.1415,3.1415); console.log('%o', obj); console.log('%O', obj);
再来试试 %c
来点样式
console.log('%c我的背景是红色', 'color: #fff; background: red; font-size: 24px;'); console.log("%c3D Text", " text-shadow: 0 1px 0 #ccc,0 2px 0 #c9c9c9,0 3px 0 #bbb,0 4px 0 #b9b9b9,0 5px 0 #aaa,0 6px 1px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.3),0 3px 5px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.2),0 20px 20px rgba(0,0,0,.15);font-size:5em"); console.log('%cYouhun', 'background-image:-webkit-gradient( linear, left top, right top, 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;');
参考链接

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C# WPF 滚动字幕实现
原文: C# WPF 滚动字幕实现 <Window x:Class="Micro.Crawler.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="数据采集器" Height="350" Width="525" Loaded="Window_Loaded"> <Grid> <Canvas VerticalAlignment="Top" Height="46" ClipToBounds="True" Margin="0,138,0,0"> <StackPanel Name="content1"> <StackPanel.RenderTransform> <TranslateTransform Y="0" /> </StackPanel.RenderTransform> <T...
- 下一篇
C#资源文件与与资源名称字符串之间的互相转化
原文: C#资源文件与与资源名称字符串之间的互相转化 1.使用ResourceManager string st = Properties.Resources.ResourceManager.GetString(tableName);value = Properties.Resources.ResourceManager.GetObject(fileName, Properties.Resources.Culture) public static Bitmap GetImageByName(string imageName){ System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); string resourceName = asm.GetName().Name + ".Properties.Resources"; var rm = new System.Resources.ResourceManager(resourceName, asm); return (Bitmap...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8安装Docker,最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Redis,开启缓存,提高访问速度