`

Chrome浏览器使用Console调试(四)

阅读更多
     Console API
     Console API为web应用提供了写信息到控制台的方法,创建了js 的profiles,初始化一个debugging session

     console.assert(expression,object)
     假如执行expression是false,那么信息会以堆栈跟踪的方式显示的console中.在下面的例子,断言信息会被写到控制台,仅当document包含的子节点数小于10个
    
var list = document.querySelector('#myList'); 
console.assert(list.childNodes.length < 10, "List item count is >= 10");
    

 
     console.clear()
    清空控制台信息
console.clear();
    如果保留日志在控制台上(Preverve Log 勾上),console.clear()将不会执行显然这种使调试很困难.在这种情况下,在右键菜单中的"Clear Console"可以使用,能够清除控制台信息

    console.count(label)
    记录相同label的行的执行次数,下面这个例子,login()每执行一次,count()也执行一次
function login(user) { 

console.count("Login called"); 

// login() code... 

}
  

 
 
     console.debug(object[,object,...])
     和console.log()方法相同

      console.dir(object)
      打印一个指定对象的Js呈现方式.如果被记录的对象是一个HTML元素,那么DOM的属性会被打印出来,
console.dir(document.body);
    

 

      console.dirxml(object)
      打印一个特定对象的XML呈现,这个对象会在Elements 面板出现,对于HTML元素,调用这个方法等同与调用console.log()
var list = document.querySelector("#myList"); console.dirxml(list);
     %o的执行是dir还是dirxml取决于对象的类型(非dom or dom)
 
     console.error(object[,object,...])
     和console.log很像,另外包括了方法调用的堆栈跟踪,并且样式像一个error
     
function connectToServer() { 
var errorCode = 1; 
if (errorCode) {
 console.error("Error: %s (%i)", "Server is  not responding", 500);
 }
 }
 connectToServer();
 


 
       console.group(object[,object,...])
       一个可选的标题作为一个日志记录的group.在调用了此方法后,并在相同的可视化group内调用console.groupEnd(),控制台信息就会输出.
       
console.group("Authenticating user '%s'", user); 
console.log("User authenticated"); 
console.groupEnd();
 

 

你可以嵌套group:
    
// New group for authentication:
 console.group("Authenticating user '%s'", user); 
// later... 
console.log("User authenticated", user); 
// A nested group for authorization: 
console.group("Authorizing user '%s'", user); 
console.log("User authorized"); 
console.groupEnd(); 
console.groupEnd();
 

 

      console.groupCollapsed(object[,object,...])
       建立一个折叠的group,

console.groupCollapsed("Authenticating user '%s'", user); 
console.log("User authenticated");
console.groupEnd(); 
console.log("A group-less log trace.");


 
      console.groupEnd()
      关闭日志group,关闭的是最近被console.group()和console.groupCollapsed()创建的group.

      console.info(object[,object,...])
      这个方法和console.log一样,但显示信息的时候在旁边增加了一个icon
       console.log(object[,object,...])
       在控制台显示信息.你可以传递一个或者多个对象到这个方法中,它们的值会被连接成一个空格分割的字符串

console.log("App started"); 
       格式化符号

       传递给log()的第一个参数可以包含格式化符号,一个以%和一个字母组成的字符串标记,意味着会被格式化.
下面的例子使用字符串(%s)和整数(%d)格式化符号,格式化显示userName和userPoints变量
console.log("User %s has %d points", userName, userPoints);
      

 

     console.profile([label])
     用一个可选的label开始js CPU的profile.为了完成这个profile,调用console.profileEnd().
     每一个profile会被加到Profiles 面板

例子:

function processPixels() { 
console.profile("Processing pixels"); 
// later, after processing pixels 
console.profileEnd(); 
}
    console.profileEnd()
    停止当前js CPU profiling的会话,如果一个正在执行,并且打印报告到Profiles 面板的话
 
console.profileEnd()

    console.time(label)
    用一个相关的label开启一个timer,当调用console.timeEnd()时,这个相同Label的定时器结束,耗时时间会显示在console上.计时器的值会精确到毫秒级

console.time("Array initialize");
 var array = new Array(1000000); 
for (var i = array.length - 1; i >= 0; i--) {
 array[i] = new Object(); 
}; 
console.timeEnd("Array initialize");


 
     注意:传递到time()和timeEnd()的字符串必须匹配,否则计时器不会结束.

     console.timeEnd(label)
     使用label停止计时器,打印耗时时间

     console.timeStamp([label])
     在Timeline记录会话期间,增加一个事件给它.这个事件能够让你可视化地关联你的代码生成时间戳,自动加到Timline上,像是layout,point等

     console.trace(object)
     打印方法调用的堆栈跟踪,包括链接到Js文件中的特定行.一个计数器会计算trace()执行次数,并在屏幕上显示
     

 

可以传递参数到trace(),如:


 

console.warn(object[,object,...])
这个方法和console.log()一样,但是会在信息旁边显示一个黄色的警告icon.

console.warn("User limit reached! (%d)", userPoints);


 

debugger

全局debugger函数会使Chrome停止程序执行,并开启一个debugging会话在它调用的那一行.它和在Chrome的DevTools上打一个人工breakpoint一样.

注意:debugger命令不是console对象的方法

下面这个例子会在一个对象的brightness()方法调用时,js的debugger就会开启

brightness: function() { 
debugger; 
var r = Math.floor(this.red*255); 
var g = Math.floor(this.green*255);
 var b = Math.floor(this.blue*255); 
return (r * 77 + g * 150 + b * 29) >> 8;
 }
 


 

 
  • 大小: 15.3 KB
  • 大小: 14.6 KB
  • 大小: 18.8 KB
  • 大小: 112.3 KB
  • 大小: 16.8 KB
  • 大小: 20.9 KB
  • 大小: 74.1 KB
  • 大小: 14.3 KB
  • 大小: 55.2 KB
  • 大小: 115.8 KB
  • 大小: 14.5 KB
  • 大小: 59.7 KB
  • 大小: 4.2 KB
分享到:
评论

相关推荐

    Chrome 浏览器中执行 JavaScript

    本章节为大家介绍如何在 Chrome 浏览器上进行 JavaScript 代码的运行与调试。 Chrome 是由 Google 开发的免费网页浏览器,对于前端开发来说(尤其是调试代码)非常方便。 Chrome 官网地址:...

    SocketLog:微信调试,API调试和AJAX的调试的工具,可以通过WebSocket输出到Chrome浏览器的控制台中

    客户端会通过一个Chrome插件将调试信息打印到浏览器的Console中,这些信息包括程序的运行时间,吞吐率,内存消耗; PHP的错误,警告,通知信息;程序执行SQL语句以及对SQL语句的解释等等。 SocketLog使用PHP和NodeJs...

    FireFox Chrome IE浏览器调试JavaScript

    在安装好插件之后,先用Firefox浏览器打开需要测试的页面,然后点击右下方的绿色按钮或使用快捷键F12唤出Firebug插件,它会将当前页面分成上下两个框架,如图1所示。 图1:Firebug插件展开图示 从图1中看到,...

    JavaScript检测是否开启了控制台(F12调试工具)

    js检测用户是否打开调试工具(chrome) (function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次打开控制台'; } })(); JavaScript检测是否开启了...

    基于谷歌的反调试工具插件

    有些网站会不停的往Chrome缓存里塞东西(多见于sojson和一些仿sojson的网站),已干掉。 3、基于debugger的卡浏览器 检测devtool 动态debugger hook 了 Function.protype.constructor 替换所有的debugger 字符...

    RemoteConsole:在远程浏览器上调试 HTML 页面

    某些移动设备也不支持经典的调试控制台(safari 和 chrome,在您的桌面上连接移动设备)和代理。 所以在这些情况下,调试似乎是不可能的.. 这就是远程控制台诞生的原因,它允许您查看日志/错误并执行 JS 命令和其他...

    javascript代码调试之console.log 用法图文详解

    大家都有用过各种类型的浏览器,每种...先的简单介绍一下chrome的控制台,打开chrome浏览器,按f12就可以轻松的打开控制台 大家可以看到控制台里面有一首诗还有其它信息,如果想清空控制台,可以点击左上角那个来清

    微信调试、API、AJAX的调试SocketLog.zip

    效果展示: 我们在浏览网站的时候在浏览器console中就知道程序做了什么,这对于二次开发产品十分有用。 下面效果图在console中打印出浏览discuz程序时,执行了哪些sql语句, 以及执行sql语句的调用栈。程序的...

    customDevTools:在Chrome Dev Tools中使用自定义功能

    Chrome浏览器会自动将console.js (在function customConsole插入自己的自定义代码)注入当前页面。 要修改何时/如果Chrome注入代码,请转到background.js(有相关说明)。 要修改此扩展名适用于哪些页面,以修改...

    wp-chrome-logger:在 chrome 控制台中输出任何内容(又一个调试助手)

    wp-chrome-调试器 感谢 [Craig Campbell] 创建了很棒的调试工具 [chromephp] 安装 从以下位置安装 Chrome 扩展程序: : 单击浏览器中的扩展图标,为当前选项卡的域启用它 下载此插件并激活它。 ##如何工作 使用...

    使用VScode 插件debugger for chrome 调试react源码的方法

    代码调试,是我们前端日常工作中不可或缺的能力了吧! 在面向dom开发的时代,我们开发时直接在chrome里打断点是很方便的。 但是,当我们面向组件开发时(react),浏览器拿到的是我们编译过后的代码,还想在浏览器里...

    inline-console:轻松将JavaScript开发者控制台添加到任何浏览器页面的底部

    内置的浏览器控制台(例如Chrome或FireFox中提供的控制台)远远优于您在此控制台中看到的控制台。 但是,此控制台旨在帮助解决浏览器未提供本机开发人员控制台的情况,例如iOS的移动浏览器。 因此,例如,使用此...

    JS检测浏览器开发者工具是否打开的方法详解

    对于一些浏览器,比如Chrome、FireFox,如果控制台输出的是对象,则保留对象的引用,每次打开开发者工具的时候都会重新调用一下对象的toString()方法将返回结果打印到控制台(console tab)上。 所以只需要创建一个...

    SocketLogs-crx插件

    这时候用SocketLog最好,SocketLog通过WebSocket将调试日志打印到浏览器的console中。你还可以用它来分析开源程序,分析SQL性能,结合taint分析程序漏洞。 详情查看帮助:https://github.com/xiaoyuit/SocketLogs

    SocketLog-crx插件

    这时候用SocketLog最好,SocketLog通过WebSocket将调试日志打印到浏览器的console中。你还可以用它来分析开源程序,分析SQL性能,结合taint分析程序漏洞。 详情查看帮助:https://github.com/luofei614/SocketLog

    日志记录组件log4web.js.zip

    简介基于浏览器端的console的日志记录组件。支持如下特性:日志级别设置;异常提交到服务器;提交环境信息;日志Tag过滤器;如何使用浏览器下的引用[removed][removed][removed]  log4web.log("houyhea");  log4...

    Tag Manager Server Debug Console-crx插件

    绿色:已激活浏览器控制台日志-橙色:已激活调试模式-紫色:容器预览-红色:无效的debugAuth代码或TMS错误两个数字显示:-标记管理器服务器输入显示从浏览器到TMS API的提交数据。 -跟踪代码管理器服务器操作通过...

    HITpingjiao:哈工大教务处评教任务的自动脚本(在浏览器控制台内运行)

    1、打开评教的页面,在评教页面打开浏览器的调试工具 2、在中有三个代码块,分别对应评教的评课评教材,评价教与学状态,评价实验课 三个部分的代码,将每个部分的代码分别复制到对应评教页面的控制台(console)中,...

Global site tag (gtag.js) - Google Analytics