console

你所不知道的 Console

2016-12-19 ZHANGXIANGLIANG JavaScript

转自 https://segmentfault.com/a/119000000672160

1.凡人视角

打印字符串

代码:

console.log("I am a 凡人");

打印提示消息

代码:

console.info("Yes, you arm a 凡人");

打印警告消息

代码:

console.warn("凡人你居然敢窥视我");

打印错误消息

代码:

console.error("天兵天将,把这个凡人给我打入地狱");

打印调试信息

console.debug("我就是传说中的debug");

2.上帝视角

查看所有方法

console 除了上面的几个方法还有什么方法呢?log 除了能打印字符串外,还能打印出对象,我们可以利用 console.log 打印自己。

代码:

console.log(console);

输出:

Object {

   assert: ...,

   clear: ...,

   count: ...,

   debug: ...,

   dir: ...,

   dirxml: ...,

   error: ...,

   group: ...,

   groupCollapsed: ...,

   groupEnd: ...,

   info: ...,

   log: ...,

   markTimeline: ...,

   profile: ...,

   profileEnd: ...,

   table: ...,

   time: ...,

   timeEnd: ...,

   timeStamp: ...,

   timeline: ...,

   timelineEnd: ...,

   trace: ...,

   warn: ...

}

啊咧咧?怎么这么多方法。其实上面的 console 方法 不一定每个浏览器 都有实现,我这边使用的是 chrome浏览器 。所以说,这个特性是非标准的,请尽量不要在 生产环境 中使用它。

但是我们可以在 开发环境 中,合理的利用 这些方法来帮助我们开发。

清理控制台

如果我们在控制台调试的时候,难免 强迫症 发作想清理掉已经乱七八糟的控制台。浏览器和命令行 clear 一样提供了一个清理函数 console.clear() 。

console.clear()

当然我们也可以用 chrome 的 command line api 来清理控制台。

clear()

又或者可以使用按键Mac上 cmd + k ,Win ctrl + l(我用的是chrome浏览器)。

分组

当代码非常长,或者我们需要把一个函数,或者一个文件中的函数等区分出来。我们可以使用分组来实现。

代码:

console.group(‘凡人‘);

console.log("手");

console.log("脚");

console.groupEnd();

 

console.group(‘神‘);

console.log("法力无边");

console.log("腾云架雾");

console.groupEnd();

输出:

如果想要输出为折叠,我们可以使用 console.groupCollapsed ,用法和 console.group 类似。

查看对象信息

有时候我们需要打印出对象信息,可以使用 console.log 来进行简单的输出。

代码:

var person = {

   head: 1,

   hand: 2,

   leg: 2

};

console.log(person);

呜呜,可是这个显示得好丑,我们这个时候就可以使用传说中的神器 console.table 来帮助我们清楚的显示 关联数组信息。

var data = [

   {

       ‘姓名‘: ‘幼儿园‘,

       ‘性别‘: ‘女‘

   },

   {

       ‘姓名‘: ‘李狗嗨‘,

       ‘数量‘: 1

   }

];

console.table(data);

输出:

但是如果想要看详细的对象信息,我们可以使用 console.dir,将一个 JavaScript 对象的所有属性和属性值显示成一个可交互的列表,它还能打印出函数等。

console.dir(clear);

什么?你想看某个节点中的html代码?没事,我们可以用 console.dirxml 来查看页面中对应元素的 html/xml 内容。

html代码:

<div id=‘person‘>

   <p>I am a 凡人</p>

</div>

javascirpt代码:

var person = document.getElementById(‘person‘);

console.dirxml(person);

性能测试

雷军粑粑老是喜欢说:“不服?跑个分。”有时候,我们也需要对代码跑个分。这个时候,我们可以使用console.time和console.timeEnd,他们可以记录代码运行所花费的时间。

console.time("神机妙算");

(function () {

   for(var i = 0; i < 10; i++) {

       var sum = (function () {

           var flog = 0;

           for(var i = 0; i < 10; i++) {

               flog+=i;

           }

       })();

   }

})();

console.timeEnd("神机妙算");

啊咧咧?你这个顶多就是 计时器 怎么能说是 性能测试 。客官别急,我们这还有一个叫做 console.profile 和 console.profileEnd 姐妹呢~~

console.profile("神机妙算");

(function () {

   for(var i = 0; i < 10; i++) {

       var sum = (function () {

           var flog = 0;

           for(var i = 0; i < 10; i++) {

               flog+=i;

           }

       })();

   }

})();

console.profileEnd("神机妙算");

输出会显示在 profile

什么还是不够?你还想知道运行时的结果栈?可以可以,我们这还有一位 console.trace 哦。他可以看透大爷你的一局一动哦。 
代码:

function add(num) {

   if (0 < num) {

       console.trace("现在num的值为", num);

       return num + add(num - 1);

   } else {

       return 0;

   }

}

 

var a =3;

add(3);

输出:

判断真假

平时我们在写代码是时候,经常需要判断一下当前值的真假情况,使用if或者三元表达式来达到目的。我们现在也可以使用 console.assert 来判断,该方法会在条件为错误时,返回一个 console.error 的输出。

console.assert(1 == 1);

console.assert(1 == 0);

console.assert(!(1 == 0));

统计次数

有时候我们需要统计一个函数或者被调用了几次,我们通常会增加一个变量 count 来记录,然后在控制台中查看。这样相当的麻烦,我们可以使用 console.count 函数来帮忙我们记录次数,并输出。

function hi(name) {

   console.count(name);

   return "hi " + name;

}

 

for(var i = 0; i < 10; i++) {

   if(i < 4) {

       hi("person");

   } else {

       hi("god");

   }

}

时间: 2024-10-05 09:55:50

console的相关文章

【转】console.log 用法

转自http://www.cnblogs.com/ctriphire/p/4116207.html 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方.可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上co

Console.WriteLine的小用法

我在一开始使用Console.WriteLine的时候,经常采用的是拼接字符串的形式来构建输出. 但是Console.WriteLine具有扩展的方法来对内容进行输出,类似于我们常用的String.Format. static void Main(string[] args) { //generic list List<int> ListGeneric = new List<int> { 5, 9, 1, 4 }; //timer for generic list sort Sto

【chrome】在做项目使用chrome调试的时候,调整Console的位置

在新的电脑上安装了谷歌浏览器 ,然后在调试系统的时候,发现console这个控制台,模拟调试js的位置无法显示到source以下, 解决问题: 怎么样让console控制台显示到sources下,在查看js源码的同时又能查看console模拟控制台的js调试呢? 在sources界面下,按下ESC按钮,即可!

破解H3C S5120 console密码

使用console登录设备提示为 Username:password: 断电重启设备,按Ctrl + B进入引导程序Starting...... ************************************************************************    *                                                                      *    *               H3C S5120

九个Console命令,让 JS 调试更简单

一.显示信息的命令 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>常用console命令</title> 5 <meta http-equiv="Content-Type"content="text/html; charset=utf-8" /> 6 </head> 7 <body> 8 <script type=&quo

C#基础1:Console类

Console相关:   1.输出到控制台 Console.Write(输出的值);  表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入.Console.WriteLine(输出的值);  表示向控制台写入字符串后换行.(常用)Console.WriteLine("输出的格式字符串",变量列表);Console.Write("输出的格式字符串",变量列表); 注:Console.WrietLine()和Console.Write()的唯一却别就是前者

SocketLog-微信调试、API调试和AJAX的调试的工具,能将日志通过WebSocket输出到Chrome浏览器的console中

说明 SocketLog适合Ajax调试和API调试, 举一个常见的场景,用SocketLog来做微信调试, 我们在做微信API开发的时候,如果API有bug,微信只提示"改公众账号暂时无法提供服务,请稍候再试" ,我们根本不知道API出来什么问题. 有了SocketLog就不一样了, 我们可以知道微信给API传递了哪些参数, 程序有错误我们也能看见错误信息(下方有张图片,可能加载慢,请耐心等待一下) 正在运行的API有bug,不能var_dump进行调试,因为会影响client的调用

转 利用 Console 来学习、调试JavaScript

利用 Console 来学习.调试JavaScript 一  什么是 Console Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该对象 可以输出信息到 Console 窗口中. 二  什么浏览器支持 Console 很多人可能都知道 Chrome 和 FireFox(FireBug)中都支持 Console.而其他浏览器都支 持不好.比如 IE8 自带的开发工具虽然支持 Console,但功能比较单调,显示对象的时候都是显

eclipse中console的输出行数控制

eclipse中console的输出行数控制 开发中,会遇到当输出大量的sql语句或者错误的时候,往往会因为console输出的限制而不能完整显示,所以我们自己就需要迫切的增加显示的行数,这样 就可以通过控制台输出的信息来查看错误的原因,从而解决问题. 第一步,当项目运行时,点击console输出框,右键选择"preferences"如下图所示 第二步,选择了之后,在弹出框中,找到"limit console output",如果是选中的话就把前面的选中取消掉. 综

浏览器控制台console的使用

前天在团队项目中因为产品需求在提交订单的时候需要多个页面的数据作为提交接口的参数,这种需求让人醉醉的,项目用angular来做的,没办法只能用全局变量来定义要交互的值和localStorage来临时的将数据存在浏览器,话不多少进入正题. 用JS组装的JS对象在存入localStorage的时候要用JSON.stringify转成JSON对象才能正确的存起来,同理取得时候也要用JSON.parse来将JSON对象转化成JS对象才能在前端正常使用.当时在控制台打印从localStorage获取到的数