js的console对象主要用于在浏览器控制台中输出一些常量或变量,除了大家常用的console.log()方法外,这篇文章在整理总结一些关于console调试的一些小技巧。
console在控制台上可以输出不同类型的日子信息,会采用不同的标志来展示 :
console.log('文字信息');
console.info('提示信息');
console.warn('警告信息');
console.error('错误信息');
效果如下:
在输出信息时可以通过%占位符来指定对应的值,而不用总是采用拼接字符串的方法。支持的占位符包括以下几种。
console.log("%c%s吃了%d斤肉,花了%f元!","color: red; font-style: italic",'我',2,30.5);
效果如下:
通过console.group()方法可以以分组的形式展示出信息,类似于列表结构。group()需要使用groupEnd()来结尾包裹分组内容; groupCollapsed()可以用于代替group()生成折叠的分组。
console.group('第一个组');
console.group("1-1");
console.group("1-1-1");
console.log('内容');
console.groupEnd();
console.groupEnd();
console.group("1-2");
console.log('内容');
console.log('内容');
console.groupEnd();
console.groupEnd();
console.groupCollapsed('第二个组');
console.group("2-1");
console.groupEnd();
console.group("2-2");
console.groupEnd();
console.groupEnd();
效果如下:
使用console.assert()方法来判断第一个参数是否为真,false的话抛出异常并且在控制台输出相应信息。
console.assert(true);
console.assert(1,false);
console.assert(1===2);//报错VM525:1 Assertion failed: console.assert
前两条语句判断结果都为true,所以没有输出任何信息,第三条语句判断结果为false,所以会直接抛出异常。
使用console.table()可以将传入的对象,或数组以表格形式输出,适合排列整齐的元素;
var Arr = [
[1,2,3],
[4,5,6],
[7,8,9],
]
console.table(Arr);
打印效果如下:
console.time("这段代码");
var arr=[];
for(var i = 0; i < 1000; i++){
arr.push(i);
}
console.timeEnd("这段代码");//这段代码: 0.275146484375ms
注意:使用Console.time()和Console.timeEnd()包裹需要计时的代码片段,其中time()和timeEnd()中的参数必须是一致(即相同字符串),否则会出现0ms的情况。
function add(a, b) {
console.trace("Add");
return a + b;
}
function f1(a, b) {
return add(a, b);
}
function f2(a, b) {
return f1(a, b);
}
var x =f2(1, 1);
打印效果如下:
VM218:2 Add
add @ VM218:2
f1 @ VM218:6
f2 @ VM218:9
(anonymous) @ VM218:11
function f1(){
for(var j=0;j<100;j++){
}
}
function fn(){
for(var i=0;i<1000;i++){
f1();
}
}
console.profile('profile1');
fn()
console.profileEnd();
打开这个菜单选项后,我们可以看出每个方法执行消耗的时间。 如下:
使用Console.dir()显示一个对象的所有属性和方法,在Chrome中Console.dir()和Console.log()效果相同。
使用Console.dirxml()显示一个对象的所有属性和方法,在Chrome中Console.dirxml()和Console.log()效果相同。
调试准备,安装插件:Chrome,安装方法:Debug -> Install Additional Debuggers... -> Debugger for Chrome,重新启动vscode即可。首先该插件运行需要安装有本地服务器,其次有两种配置方式
程序调试是程序投入运行之前,使用手工或编译程序等方法进行的测试,主要用以修正语法错误和逻辑错误。程序调试是保证计算机信息系统正确性的必不可少的步骤,在Flutter应用开发中,Android Studio和VSCode是两种比较常见的集成开发环境
本文简单整理一下日常使用到的JS反调试技术,主要目的防止非法用户查看网页运行流程,分析代码。虽然不是绝对安全的,但也在一定程度上提高了调试破解的难度。在Chrome浏览器中,最常用到的就是DevTools工具进行调试JS
BrowserSync能让PC、各移动设备使用各种浏览器的页面同时实时地响应文件的更改,而不用刷新操作。而且,当在其他一个设备上进行点击等行为时,该行为也会同步到其他浏览器中
console.log方法用于在控制台输出信息。它可以接受一个或多个参数,将它们连接起来输出。warn方法和error方法也是在控制台输出信息,它们与log方法的不同之处在于,warn方法输出信息时,在最前面加一个黄色三角
以更快的速度和更高的效率来调试JavaScript,js调试,熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言 JavaScript 很难调试,但如果你掌握了几个技巧,就能用很少的时间来解决错误和bug。
NetBeans分析器是NetBeans的扩展,用于为NetBeans IDE提供分析功能。NetBeans IDE是一个开源的集成开发环境。NetBeans IDE支持开发所有Java应用程序类型(Java SE(包括JavaFX),Java ME,Web,EJB和移动应用程序)
断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了。本文主要介绍了“逐语句执行”按钮、“逐过程执行”按钮、console控制台这三个工具,以及调试bug时的一些思路。
接口调试是每一个软件开发从业者必不可少的一项技能,一个项目的完成必然经过大量的接口测试,实际开发过程中,接口调试的时间不比实际开发所用的时间少。作为前端开发人员
vConsole腾讯出品的 Web 调试面板,相信不少前端小伙伴都用过。Charles 是一款强大的抓包工具,可以截取包括 https 在内的各种网络请求并方便的查看具体信息。weinre是一款很不错的网页检查工具,可以通过在本地启动一个 weinre 服务
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!