博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你不知道的console.log
阅读量:6867 次
发布时间:2019-06-26

本文共 2752 字,大约阅读时间需要 9 分钟。

前言

对于前端开发者,使用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;');

参考链接

转载地址:http://aikfl.baihongyu.com/

你可能感兴趣的文章
Docker背后的内核知识:命名空间资源隔离
查看>>
《圣殿祭司的ASP.NET4.0专家技术手册》---- 1-13 ClientBuilderManager类别的编译功能...
查看>>
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.7 修复错误...
查看>>
《Redis入门指南(第2版)》一3.2 字符串类型
查看>>
《Adobe Flash Professional CC经典教程》——1.3 使用“库”面板
查看>>
《Android应用开发入门经典(第3版)》——导读
查看>>
xmemcached发布1.3.6
查看>>
《Nmap渗透测试指南》—第6章6.4节IP欺骗
查看>>
Samba 系列(九):将 CentOS 7 桌面系统加入到 Samba4 AD 域环境中
查看>>
《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源
查看>>
《C语言及程序设计》实践参考——当年第几天
查看>>
前端使用fis3开启本地服务器,并实现热加载功能
查看>>
看BAT技术面试官如何挑选Java程序员
查看>>
AI强势来袭,锁上手机就真的安全了吗?
查看>>
Spring 中的 context
查看>>
重构代码(应如写诗)
查看>>
Vue混入mixins
查看>>
前阿里 P9 级员工称离婚是模拟测试,已回滚复婚!
查看>>
衡阳a货翡翠,南平a货翡翠
查看>>
大姨太入场,EtcGame全线升级为Coingame,开启ETH投注倒计时……
查看>>