码迷,mamicode.com
首页 > 其他好文 > 详细

console装点你的控制台

时间:2019-04-10 16:41:36      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:ring   key   状态   否则   art   tor   格式化   rgb   正是   

对于前端开发者,使用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;‘);
技术图片
 
参考:https://cloud.tencent.com/developer/article/1199084

console装点你的控制台

标签:ring   key   状态   否则   art   tor   格式化   rgb   正是   

原文地址:https://www.cnblogs.com/trend/p/10684139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!