前天在团队项目中因为产品需求在提交订单的时候需要多个页面的数据作为提交接口的参数,这种需求让人醉醉的,项目用angular来做的,没办法只能用全局变量来定义要交互的值和localStorage来临时的将数据存在浏览器,话不多少进入正题。

用JS组装的JS对象在存入localStorage的时候要用JSON.stringify转成JSON对象才能正确的存起来,同理取得时候也要用JSON.parse来将JSON对象转化成JS对象才能在前端正常使用。当时在控制台打印从localStorage获取到的数据的时候发现打印的字体颜色是黑色的(chrome),当时控制台还有其他颜色的打印项。

平时天天使用console,这次才真正的发现console的一些小的细节,不同的数据类型在console打印的颜色是不一样的,于是带着兴趣研究了一番。

上图分别测试了JS的数据类型Number,String,Null,Undefined,Boolean以及Object在consol的打印结果,可以看出来在浏览器中(chrome)打印出对应的类型的颜色是不一样的,Number类型的数据偏向蓝色、Boolean类型的数据偏向紫红色,Null和Undefined的颜色值是灰色,当愕然Array和Object的特点就更明显了,一个带中括号一个有大括号很便于我们识别。当然也可以自定义console打印的字体颜色。

如果把对应的数据类型在浏览器console中对应的颜色的话在开发中或多或少能让我们从控制台中看到数据对应的类型,这样是可以提高我们的开发效率的。

平时项目开发中console对象正常情况下用的比较多的方法应该就是console.log()方法,除此之外console还有其它的一些方法,我们可以在控制台输出 console.log(console)来查看下。

这就是console对象下面所有的方法。不同的方法在浏览器控制台有不同的表现方式:

这里仅仅举例几种方法,可以看出console不同的方法在控制台还是有不同的表现的。

这里说说console的根源,console并不属于原生JS的,原生JS并没有console对象,它是浏览器提供的用于用户便于访问控制台的对象,因此在不同的浏览器里面console的效果也可能会有一些差异。

开发用用的和console类似的alert,confirm,prompt等弹框也是浏览器自带的行为,区别在于console不影响代码的执行但是alert,confirm,prompt弹框弹出的时候回阻断代码的执行。

因为console,alert,confirm,prompt等这些浏览器自带的对象只能依赖于浏览器才会有效,所以对于要打包的APP上线的时候是要避免使用这些对象的,用的多的应该是弹框,这时候要自己写一个弹框插件或者找第三方插件来实现功能。

每天进步一点点

浏览器控制台console的使用的更多相关文章

  1. 浏览器控制台console

    console对象 console对象代表浏览器的JavaScript控制台.虽然它还不是标准,但是各大浏览器都原生支持,已经成为事实上的标准. console对象主要有两个作用: 显示网页代码运行时 ...

  2. chrome浏览器控制台 console不打印信息问题解决办法

    谷歌浏览器控制台不能显示consle打印的东西,我记得之前可以正常打印,代码没问题,可能是你在浏览器中无意间点到了fifter,我们2可以使用最简单粗暴的方法---->恢复默认值. 按下F12, ...

  3. chrome浏览器控制台 console不打印信息问题解决办法。

    转自:https://blog.csdn.net/wang17866603359/article/details/79083776 最近换了安装chrome,想按F12调试下代码,发现控制台什么信息都 ...

  4. 如何在浏览器控制台(console)里输出彩色样式调试信息

    console.log(XX,XX,XX) log 的第一个参数声明第二.第三个参数的作用,第二个参数就是样式,第三个参数是要输出的字符串 console.log("%c%s", ...

  5. console.debug()浏览器控制台打印输出 仅仅在支持console的浏览器下打印

    console.debug()浏览器控制台打印输出 仅仅在支持console的浏览器下打印 var util = {}; /** * 工具类 */ util = new function() { /* ...

  6. 不依赖浏览器控制台的JavaScript断点调试方法

    随着浏览器的逐渐强大,绝大多数情况下的代码调试都是可以通过浏览器自带的一些调试工具进行解决.然而对于一些特殊情况仍然无法享受到浏览器的强大 调试能力,比如QQ客户端内嵌web的调试(虽然说QQ目前已经 ...

  7. 1.Google Chrome浏览器 控制台全解析

    Google Chrome浏览器 控制台全解析 在Google Chrome浏览器出来之前,我一直使用FireFox,因为FireFox的插件非常丰富,更因为FireFox有强大的Firebug,对于 ...

  8. vue 在浏览器控制台怎么调试 谷歌插件vue Devtools

    vue 在浏览器控制台怎么调试 谷歌插件vue Devtools 问题: vuejs里面的变量,怎么用浏览器的console查看? 例如,想在chrome里用console.log查看变量$data, ...

  9. 为什么浏览器控制台返回不是undefined,而是一串数字

    setTimeout( (function(){console.log("ok")} )(), 16) 在浏览器控制台输入这段代码的时候返回的不是"undefined&q ...

随机推荐

  1. c3p0数据库连接池+mysql数据库基本使用方法

           一般我们在项目中操作数据库时,都是每次需要操作数据库就建立一个连接,操作完成后释放连接.因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒), 连接就会被自动释放掉. ...

  2. File的getParentFile()和getParent()

    代码:      File file = new File("D:\\javaemp\\code\\java.txt");      String str1 = file.getP ...

  3. Android中的广播

    Android中的广播 广播接受器,可以比喻成收音机.而广播则可以看成电台. Android系统内部相当于已经有一个电台 定义了好多的广播事件,比如外拨电话 短信到来 sd卡状态 电池电量变化... ...

  4. CLI子命令扩展-插件机制实现

    开发CLI工具过程中,为了便于扩展,将CLI的实现分为基础功能和扩展功能.基础功能包括init.build.lint.publish等伴随工程从初始化到最终发布到生产环境,也即为CLI 的core.扩 ...

  5. n以内质数占的比例

    2 ->0.5 10 ->0.4 100-> 0.25 1000->0.168 10000->0.1229 100000->0.09592 1000000-> ...

  6. 安徽省2016“京胜杯”程序设计大赛_E_转啊转

    转啊转 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 59 Accepted: 15 Description     在二 ...

  7. 開源sources

    學了c++已經快有半年光景,感覺在停留在syntax上已經不能感到有所滿足.一下是一些開源資料,難度極高,姑且當作是個人的一個小小wishing list,當作to-do list 般去執行吧. ht ...

  8. 使用JAXP进行XM解析(基于DOM)

    最近在做微信开发需要各种解析各种xml,基本用JAXP 解析的 JAXP 开发包是J2SE的一部分,它由javax.xml.org.w3c.dom .org.xml.sax 包及其子包组成. 在 ja ...

  9. Sybase数据库的连接,JNDI配置,Hibernate配置

    最近的一个项目就是移植老项目的代码,有一个模块用的是Sybase数据库,我表示从来没接触过,更不用说怎么用了.再者这东西都是几乎被淘汰的东西了,而且网上搜到的东西简直了,全是复制粘贴的. 一.使用工具 ...

  10. HDU 1028 Ignatius and the Princess III:dp or 母函数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028 题意: 给你一个正整数n,将n拆分成若干个正整数之和,问你有多少种方案. 注:"4 = ...