抽空通过简书网学习了一下console,感觉高大上!

抽空看了一下简书中关于console的文章,为了便于自己今后查看,自己写了一遍!原文地址:http://www.jianshu.com/p/f961e1a03a56

测试代码在最下面

1.console.log(); console.debug()与console.info()与console.log一样
(a,b,c); 可接受多个参数,中间用逗号分开,默认输出完最后输出换行符
如果第一个参数是格式字符串(使用了格式占位符),后面的参数对应前面的占位符进行输出
占位符为一下五种%d/%i %s %f %o %c,分别是整数、字符串、浮点数、对象和css格式化样式

2.console.assert();---assert声称, 断言
接收至少两个参数,第一个参数的值或返回值为false的时候,将会在控制台上抛出一个异常并将其余参数作为异常描述输出.

3.console.count();
用于计数,输出它被调用了多少次。可以传入一个字符串作为参数,进行分类计数

4.console.clear();
清空控制台内容。

5.console.dir();
对一个对象进行检查,并以易于阅读和打印的格式显示。

6.console.error();
输出错误信息,红色的错误

7.console.warn();
输出警告信息,黄色的警告形式

8.console.table();
将传入的对象或数组这些复合数据以表格形式输出。

9.console.time(),console.timeEnd();
console.time(),console.timeEnd()方法计算一个操作的执行的时间console.time()是开始,console.timeEnd()是结束。可以传一个参数,参数为计时器的名称。

10.console.group(),console.groupCollapsed(),console.groupEnd();---Collapse倒塌(col(全部)+lapse(滑倒--slip));
用于将显示的信息分组,可以把信息进行折叠和展开。他们都可以传递一个参数,参数默认是分组名;用法都是一样的。
唯一区别就是console.group()是默认展开的,而console.groupCollapsed()默认是收起的。

11.console.profile(),console.profileEnd();
用来新建一个性能测试器,可以评估某段代码的性能,可以传一个参数,为生成的性能测试器的名字。

12.console.trace();
用来追踪函数的调用过程。在复杂的架构中可以查找到对应的调用路径。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>console</title>
</head>
<body>
<script type="text/javascript">
//console.log();
var a = 15, b = 'abs',c;
console.log(a, b, c);
var d = 10.00, e = {a:1}, f = 'body:{background-color:red;}';
console.log(a, b, d, e, f);
console.log('%d %s %f %o %c', a, b, d, e, f);

//console.assert();
function consoleFn(arg1, arg2){
    if(arg2 == undefined){
        var a = console.assert(false, 'arg2未赋值');//抛出错误,并且输出,返回undefined
        console.log(a);//输出undefined
    }else{
        console.assert(true,'true');//没有错误,返回undefined
    }
}
consoleFn(1);

//console.count();
function count() {
 for (var i = 0; i < 5; i++) {
    var str = '';
    if(i % 2 == 0){
        str = "这是偶数";
    }else{
        str = "这是奇数";
    }
        var a = console.count(str); 
 }
};
count();

//console.clear();

//console.dir();
var obj = {
    name:'李明',
    age:20
}
var arr = [1, 2, 3];
var fn = function(){};
console.dir(obj);
console.dir(arr);
console.dir(fn);

//console.error()与console.wran();
function errFn(a, b){
    if(a == ''){
        console.error('%s','a未定义');
    }
    if(b == undefined){
        console.warn('%s', 'b未定义');
    }
}
errFn('',1);
errFn(1);

//console.table();
console.table(obj);
console.table(arr);

//console.time();
console.time('time1');
setTimeout(count(),1000);
console.timeEnd('time1');

//console.group();
console.group('第一层(打开)');
console.group('第二层(打开)');
console.groupCollapsed('第三层(关闭)');
console.log('分组菜单闭合');
console.groupEnd(); 
console.groupEnd(); 

//console.profile();
console.profile('性能分析');
count();
console.profileEnd();

function aa(){
    bb();
}
function bb(){
    console.trace();
    console.log("a调用了b");
}
aa();

//总结
var cons = console;
if (cons) { 
      cons.log('console学习暂告一段落\n'); 
      cons.log("本文来自:%c浩3108的简书http://www.jianshu.com/p/f961e1a03a56", "color:red;font-weight:bold;");
}
</script>
</body>
</html>
查看代码

 

posted @ 2016-09-25 17:03  Small_Potato_IT  阅读(347)  评论(0编辑  收藏  举报