当你开始用 JavaScript 进行开发时,可能学到的第一件事就是如何用 console.log 将内容记录到控制台。...在本文中,我们将梳理各种情况下要记录的日志信息,Node.js 中 console.log 和console.error之间的区别是什么,以及如何在不发生混乱的情况下把你库中的日志记录输出到用户控制台。...`); 理论先行:Node.js 的重要细节 虽然你可以在浏览器和 Node.js 中使用 console.log 或 console.error,但在使用 Node.js 时要记住一件重要的事。...如果你查阅 Node.js 文档的 console部分,会看到 console.log 是输出到 stdout 而 console .error 用的是 stderr。...console.log 在底层使用了 util.format 来支持 %O 占位符。你可以在 Node.js 文档中查阅它们的细节。
如果你js没到一个境界,我就算教你调试bug,激活成功教程一些插件之类的,你也根本不知道我在做什么。...2 之前在调试代码的时候,跟砸js代码执行情况,一般都是通过在代码块中使用alert的方式查看js代码的执行情况,今天也是看到有朋友使用console.log函数打印输出函数,变量,对象,下边就console.log...的使用情况进行记录,具体的语法是: console.log(“值为:”,fn); console.log()能够输出变量,函数,数组,对象等等 3 console.log 原先是 Firefox 的“专利...当然,IE 和 Opera 下的 console.log 比起 Firebugs 原创的 console.log,还是太过简单,比如参数是 Object 或者数组就没有进一步的显示功能。...不同的浏览器中console.log()行为可能会有所不同, 二、兼容没有调试控制台的浏览器 对于缺少调试控制台的老版本浏览器,window中的console对象并不存在,因此直接使用console.log
图片 除了最常用的console.log()消息在浏览器中显示消息外,还有许多其他方法可以使调试过程变得更加容易。让我们通过示例逐一查看它们。...log加上CSS样式 console.log('%c这是示例的文字-Tz','color:pink;font-size:50px;font-weight: 500') console.log('%c这是示例的文字...-Tz','color:red;font-size:20px;font-weight: 600') console.log('%c这是示例的文字-Tz','color:blue;font-size:12px...(); console.log('1') console.log('3') console.log('1') console.log('4...,它是跟踪JavaScript执行所花费的微时间的更好方法。
JavaScript中的 console 对象可用于访问浏览器调试控制台,可以用它在控制台中输出代码中变量的值。 不过大多数人都只过 console.log() 在浏览器控制台中进行输出调试。...log 只是 console 对象的一种方法,除了它还有很多非常有用的方法。 1. console.log() 这个方法主要用于将传给它的值输出到控制台。...console.log('JavaScript'); console.log(7); console.log(true); console.log(null); console.log(undefined...每当我们想知道一个代码块或函数所花费的时间时,都可以用 time() 和 timeEnd() 方法。这两个函数都以字符串作为参数。使用时要对这两个函数用相同的字符串来测量时间。...为你的日志添加样式 还可以在控制台日志添加样式,使日志看起来更漂亮。只需要把 CSS 样式作为 log() 函数的第二个参数,同时第一个参数以 %c 开始即可。
几乎所有的javascript开发者最常使用的日志打印调试api都是console.log(),其实还有很多的选项供我们选择,笔者下面就为大家一一介绍....一、console.table() console.table()是我非常建议大家去使用的方法,它可以接受JSON或数组并以表格格式打印,在对json对象和数组进行可视化打印的时候简单易用,结果直观。...: 二、console.error() console.error()相对于console.log()更有助于在调试时从输出日志中区分错误信息 从上图中可以看到,它的输出打印结果是红色的。...参考下图理解这三个方法 console.time()相当于秒表中的开始按钮 console.timeLog()相当于秒表中的按圈计时/按点计时 console.timeEnd()相当于计时结束 console.time...console.timeLog('ForLoop'); } console.timeEnd("ForLoop"); 控制台打印输出结果 四、console.warn() 用黄色字体输出日志,更直观的方便的查看警告类日志信息
它被浏览器定义为 Window.Console,也可被简单的 Console 调用。 最常用的方法就是Console.log(),就是在控制台输出内容。...刚开始学前端的时候看到大家都是用的Console.log(),几乎没有见过Console的其他用法,难道Console真的没有别的用法了?...适合排列整齐的元素 查看对象 使用Console.dir()显示一个对象的所有属性和方法 在Chrome中Console.dir()和Console.log()效果相同。...查看节点 使用Console.dirxml()显示一个对象的所有属性和方法 在Chrome中Console.dirxml()和Console.log()效果相同。...() 最后再来介绍一下强大的Console.log(),这个方法有很多的用法(其他输出方法的用法,如error()等,可以参照log()使用)。
预处理会跳过执行语句,只处理声明语句,同样也是按从上到下按顺序进行的。包括变量和函数在内的所有声明都会在任何代码被执行前首先被处理。...注意1:对于声明并赋值的语句,例如 var a = 1,在预处理阶段会把这句话拆成两句: var a; a = 1; 也就是说,赋值或其他逻辑运算是在执行阶段进行的,在预处理阶段会被忽略。...注意2: (1)函数声明的提升优先于变量声明的提升; (2)重复的var声明会被忽略掉,但是重复的function声明会覆盖掉前面的声明。...2.在预处理阶段,声明的变量的初始值是undefined, 采用function声明的函数的初始内容就是函数体的内容。 3....完成预处理之后,JavaScript代码会从上到下按顺序执行逻辑操作和函数的调用。 参考代码: ? 答案: C. 2
除了console.log之外,还有更多方式调试JavaScript来输出值。 看起来很明显我们没有。 人们告诉我,做JavaScript应该使用浏览器的调试器,但这肯定是要看运行环境的。...console.log() 在旧的console.log中有超出人期望令人惊讶的功能。...除此之外,还有另一种格式:console.log(msg,values)。 这很像像C或PHP中的sprintf。...向下的小箭头将显示与上面相同的确切对象详细信息,这也可以从console.log版本中看到。 当你看到元素时,事物的分歧更加剧烈,更有趣。...但是,堆栈跟踪将非常清楚地告诉我们问题是Dashboard.js,我们可以看到它是新的CupcakeService(false)并导致错误。
与alert()函数类似,console.log()也可以接受换行符\n以及制表符\t。console.log()语句所打印的调试信息可以在浏览器的调试控制台中看到。...不同的浏览器中console.log()行为可能会有所不同, 本文主要探讨Firebug中console.log()的使用 。...二、兼容没有调试控制台的浏览器 对于缺少调试控制台的老版本浏览器,window中的console对象并不存在,因此直接使用console.log()语句可能会在浏览器内部造成错误(空指针错误),并最终导致某些老版本浏览器的崩溃...为了解决这一问题,可以人为定义console对象,并声明该console对象的log函数为空函数;这样,当console.log()语句执行时,这些老版本的浏览器将不会做任何事情: if(!...四、使用其它日志级别 除了console.log(),Firebug还支持多种不同的日志级别:debug、info、warn、error。
大家好,又见面了,我是你们的朋友全栈君。 console.log方法用于在控制台输出信息。它可以接受一个或多个参数,将它们连接起来输出。...console.log('Hello World') // Hello World console.log('a', 'b', 'c') // a b c console.log方法会自动在每次输出的结尾...console.log方法支持以下占位符,不同类型的数据必须使用对应的占位符。...console.log方法的两种参数格式,可以结合在一起使用。...console.log(' %s + %s ', 1, 1, '= 2') // 1 + 1 = 2 如果参数是一个对象,console.log会显示该对象的值。
console.log支持多样化玩法,这里以console.log的css内容输出为例,也就是console.log()输入多样化内容 console.log输出一张图片 正常情况下大家都应该明白console.log...只能输出正常的文本内容 这里给大家介绍输出一张图片,把下面的代码放进JavaScript脚本里面就可以实现控制台输出一张图片 console.log('%c','padding:50px 200px;background...console.log输出背景渐变的文字 console.log("%c十月梦想","background: rgba(252,234,187,1);background: -moz-linear-gradient...console的用法另外补充 console.log("%c")输出css样式 console.log("%s") 字符串格式化 %d/%i 整数格式化; console.log("%o") 可扩展的...DOM节点格式化 console.log("%O") 可扩展的JavaScript对象格式化 console.error('')错误红色报错信息 console.info()普通信息提示(黑色默认)
还是比较简单的,默认暴露globalConsole 我之前在这两个烂文章里写过(之前写的感觉就是很烂) 源码精读:通过Node.js的Cluster模块源码,深入PM2原理 原创精读:从Node.js...的path模块源码,彻底搞懂webpack的路径 Node.js的源码是commonJS模块化方案,很多都是挂载到原型上提供调用,但是在现在的开发中,千万不要在原型上添加属性。...2.遍历原型上的属性 如果是构造函数就跳过 3.获取它的访问描述符,重新生成挂载到desc(访问描述符上) 4.类似vue 2.x的源码实现,使用下面的API,指定属性读取劫持,例如我使用console.log...---- 看看引入的Console是什么 ? 熟悉的味道,挂载到的是原型上。...遍历了一次,将consoleMethods的方法都拷贝到了Console的原型上,这样我们就可以调用console.log了 那么log方法怎么实现的呢?
除了一堆报错之外,我们应该也发现了百度的招聘广告,竟然可以产生高亮的红色字体,有点炫酷不是吗。 继续探索,按照以下步骤进行: ? 找到对应的代码行发现原来 console.log 可以这么玩。 ?...尝试使用下面的代码: console.log("%cThis will be formatted with large, blue text", "color: blue; font-size: x-large..."); ..将您的日志输出设置为蓝色的大字体: ?...输出 3D 文本 console.log("%c发送简历到 keminok@qq.com"," text-shadow: 0 1px 0 #ccc,0 2px 0 #c9c9c9,0 3px 0 #bbb...2.输出多彩背景 console.log("%cColorful CSS","background: rgba(252,234,187,1);background: -moz-linear-gradient
大家好,又见面了,我是你们的朋友全栈君。 console.log()的作用是什么 主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。...相比alert他的优点是: 1,他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。...第一种 步骤如下: 1,进入设置页面:文件>首选项>用户代码片段>选择设置的语言(JavaScript.json)。...2,系统默认给我们提供了console.log的代码格式例子,我们只要去掉注释就可以使用了,当然你也可以把注释内容删除(注释的内容是snippet 的格式说明,下文有解释)。...参考注释1 prefix :这个参数是使用代码段的快捷入口,比如这里的log在使用时输入log会有智能感知. body :这个是代码段的主体.需要设置的代码放在这里,字符串间换行的话使用 \r\n换行符隔开
在js的开发过程中,我们不可避免的需要对某些参数的状态进行追踪,这个时候就回使用console.log这个函数,但这个简单函数背后你所不知道的一面 这个函数最常规的使用方式就是在代码的任何部分调用console.log...= 111; console.log(yerik); }, [运行结果1.png] 这个方式就是我们常见的一种变量追踪手法,我愿称之为"面向print"开发 从这个例子来看似乎没什么问题...(yerik); yerik.NAUG = 111; console.log(yerik); }, 我们将shu这个属性从原来的整型变成object之后,再用console...我们看看以下这段代码,观察下作用域的工作过程 workspace() { console.log(study); var study = "神奇js引擎";...function testSpace() { console.log(study); var study = "20210823"; console.log
前言 对于前端开发者,使用console.log() 次数绝对很多,但是大部分人认识的 console 对象还不是很全面,其实深入了解这些后,你会发现给开发过程带来很多便利,而且还很有趣。...先来看看别人的控制台。...console.dir() 显示对象的所有的属性和方法 var obj = { str: 'youhun', num: 1, func: function(){ console.log...会了,你可以像文章开头举例那些,做出自己喜欢的console.log 占位符 %s 格式化成字符串输出 %d or %i 格式化成整数输出 %f 格式化成浮点数输出 %o 转化成展开的DOM...obj); console.log('%O', obj); 再来试试 %c 来点样式 console.log('%c我的背景是红色', 'color: #fff; background: red;
简介 这是前几天阅读公众号文章遇到的一篇文章,灰常有意思,记录一下。 JavaScript不愧是弱类型语言,换成其他语言,这肯定报错吧。 详解 直接上图: nb吧。...第一个[]相当于定义了一个空数组,[[]]相当于是返回是返回这个数组中key为[]的值,也就是返回空数组中key为空数组的值,因为没有定义所以返回的是undefined;类型。...true的数值是1,false的数值是0。(大多数语言就是true是,false是0) 所以undefined[+!![]]返回n 原式子就变成这个'n'+([]+{})[+!![]+ + !!...[]返回的是数值2 原式子就变成这个'n'+'[object Object]'[2] 这结果就很一目了然。
起因 很多朋友在群里问过,为什么打印的对象/数组里面明明有值,但是我后面打印它某个值跟预期不一样? 看代码 <!...讲解 当你打印时是空数组/空对象,但是点开后,里面却有属性,这属于console执行的那一刻,数组/对象里面是没有元素的,但是后面却被添加了。...'obj'); console.log(obj.a, 'a') obj.a = '前端巅峰'; 输出结果,一开始打印就会在对象中对象对应的数据: ?...什么时候会出现这种情况 像使用redux或者使用接口请求回来的数据,异步更新时候,就有可能出现上面这种打印存在不确定的情况 如何避免?...这样就不会再出现打印歧义的问题 结语
console.log( ) 是JS开发时常用的小工具,输出一些信息来辅助调试,console 还有很多有用的方法,下面介绍几个方便调试的用法 跟踪堆栈 例如想找出某个函数是被谁调用,如果调用层级较深的话...用表格显示对象信息 使用 console.log() 打印对象信息时,可读性并不太好,例如下面的代码,输出一个数组的内容 var books = [ { title: "Java", author...: "Abc" }, { title: "C", author: "Obj" }, { title: "C++", author: "Cof" } ]; console.log (...i++){ console.log('A'); } } function func_B (x,y){ for(var i=0;i<x;i++){ for(var...j=0;j<y;j++){ console.log('B'); } } } function test (){ func_A(100); func_B
主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。...相比alert他的优点是: 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。...error: function , info: function , log: function …} 它有网页的各种提示
领取专属 10元无门槛券
手把手带您无忧上云