推荐5 个常用的JavaScript调试技巧


Posted in Javascript onJanuary 08, 2015

我之前使用过用printf debugging,自此之后我用这种方法似乎总能更快地解决bug。
在某些情况下需要更好的工具,下面是其中的一些佼佼者,我敢肯定你会发现它们的有用之处:

1. debugger;

你可以使用“debugger;”语句在代码中加入强制断点。
需要断点条件吗?只需将它包装它在IF子句中:

if (somethingHappens) {

debugger;

}

只需记住在上线前移除。

2. 当节点变化时断开

有时DOM像有了自己的想法。当不可思议的变化发生时很难找到问题的根源。
Chrome开发人员工有调试这个问题的超级有用技能。这就是所谓的“Break on…”,你可以通过在元素选项卡上右键DOM节点找到它。

断点可以在节点被删除后设置,当节点的属性更改或者其子树中的节点变化时。
推荐5 个常用的JavaScript调试技巧

3. Ajax断点

XHR断点或我称作的Ajax断点,也允许当一个预期Ajax请求创建时断开。
当调试你的web应用的网络时这是个让人吃惊的工具。
推荐5 个常用的JavaScript调试技巧

4. 模拟不同的移动设备

Chrome增加了内置的移动设备模拟工具,这将简化你的日常工作。
选择任何非Console的选项卡找到它们,按键盘上的esc键并选择你想摸你的移动设备。

你当然不会得到一个真正的iPhone,但尺寸、触摸事件和agemt都会为你效仿。
推荐5 个常用的JavaScript调试技巧

5. 通过审核提升你的站点

YSlow是个伟大的工具。Chrome也在开发人员工具下包含一个称作Audits的类似工具。
使用快速审核一下你的网站,来获得有用实际的优化技巧。
推荐5 个常用的JavaScript调试技巧

还有什么呢?

没有这些工具我不能想象如何开发。当我发现新的后我会发布更多,敬请期待。

Javascript 相关文章推荐
jQuery html()方法使用不了无法显示内容的问题
Aug 06 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
Sep 15 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
jquery实现清新实用的网页菜单效果
Aug 28 Javascript
js正则表达式验证邮件地址
Nov 12 Javascript
jQuery实现下拉框功能实例代码
May 06 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
在vue中使用回调函数,this调用无效的解决
Aug 11 Javascript
手把手教你如何编译打包video.js
Dec 09 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 #Javascript
jQuery中prevAll()方法用法实例
Jan 08 #Javascript
jQuery中prev()方法用法实例
Jan 08 #Javascript
深入探密Javascript数组方法
Jan 08 #Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 #Javascript
jQuery中parentsUntil()方法用法实例
Jan 07 #Javascript
jQuery中parents()方法用法实例
Jan 07 #Javascript
You might like
PL-880隐藏功能
2021/03/01 无线电
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
php统计数组元素个数的方法
2015/07/02 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
python中定义结构体的方法
2013/03/04 Python
Django返回json数据用法示例
2016/09/18 Python
django 多数据库配置教程
2018/05/30 Python
Sanic框架路由用法实例分析
2018/07/16 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python实现剪切功能
2019/01/23 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Python简单实现区域生长方式
2020/01/16 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
python实现扫雷小游戏
2020/04/24 Python
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
实践单位评语
2014/04/26 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
Nginx配置使用详解
2022/07/07 Servers