推荐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 相关文章推荐
javascript中的几个运算符
Jun 29 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
jQuery焦点图左右转换效果
Dec 12 Javascript
如何抽象一个Vue公共组件
Oct 17 Javascript
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
vue配置请求本地json数据的方法
Apr 11 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
May 18 Javascript
详解vue中移动端自适应方案
May 05 Javascript
jquery实现下载图片功能
Jul 18 jQuery
vue实现列表滚动的过渡动画
Jun 29 Javascript
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
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
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
php进程间通讯实例分析
2016/07/11 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
js中的异常处理try...catch使用介绍
2013/09/21 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
大学生毕业求职简历的自我评价
2013/10/24 职场文书
实习求职信
2013/12/01 职场文书
高级工程师岗位职责
2013/12/15 职场文书
美容院考勤制度
2014/01/30 职场文书
关于运动会的稿件
2014/02/02 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript