JS调试必备的5个debug技巧


Posted in Javascript onMarch 07, 2014

1. debugger;

我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果。
需要带有条件的断点吗?你只需要用if语句包围它:

if (somethingHappens) {
  debugger;
}

但要记住在程序发布前删掉它们。

2. 设置在DOM node发生变化时触发断点

有时候你会发现DOM不受你的控制,自己会发生一些奇怪的变化,让你很难找出问题的根源。

谷歌浏览器的开发工具里有一个超级好用的功能,专门可以对付这种情况,叫做“Break on…”,你在DOM节点上右键,就能看到这个菜单项。

断点的触发条件可以设置成这个节点被删除、节点的属性有任何变化,或它的某个子节点有变化发生。

JS调试必备的5个debug技巧

3. Ajax 断点

XHR断点,或Ajax断点,就像它们的名字一样,可以让我们设置一个断点,在特点的Ajax调用发生时触发它们。

当你在调试Web应用的网络传输时,这一招非常的有效。

JS调试必备的5个debug技巧

4. 移动设备模拟环境

谷歌浏览器里有一些非常有趣的模拟移动设备的工具,帮助我们调试程序在移动设备里的运行情况。

找到它的方法是:按F12,调出开发者工具,然后按ESC键(当前tab不能是Console),你就会看到第二层调试窗口出现,里面的Emulation标签页里有各种模拟设备可选。

当然,这不会就变成了真正的iPhone,只是模拟了iPhone的尺寸,触摸事件和浏览器User Agent值。

JS调试必备的5个debug技巧

5. 使用Audits改进你的网站

YSlow是一个非常棒的工具。谷歌浏览器的开发者工具里也有一个非常类似的工具,叫Audits

它可快速的审计你的网站,给你提出非常实际有效的优化你的网站的建议和方法。

JS调试必备的5个debug技巧

还有其它的吗?

没有这些工具,我不知道将如何开发。我还会写更多的关于这方面的技巧——一旦我有所发现,请关注我的最新文章。

Javascript 相关文章推荐
JS加ASP二级域名转向的代码
May 17 Javascript
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
Nov 19 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
浅谈JavaScript事件的属性列表
Mar 01 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
简单实现jquery隔行变色
Nov 09 jQuery
微信小程序模板和模块化用法实例分析
Nov 28 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
Aug 28 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
js神秘的电报密码 哈弗曼编码实现
Sep 10 Javascript
vue 获取url里参数的两种方法小结
Nov 12 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 #Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 #Javascript
js函数名与form表单元素同名冲突的问题
Mar 07 #Javascript
javascript(js)的小数点乘法除法问题详解
Mar 07 #Javascript
jquery中常用的函数和属性详细解析
Mar 07 #Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 #Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 #Javascript
You might like
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
javascript json2 使用方法
2010/03/16 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
python的常见命令注入威胁
2013/02/18 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
Linux下python3.7.0安装教程
2018/07/30 Python
浅述python2与python3的简单区别
2018/09/19 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
python网络应用开发知识点浅析
2019/05/28 Python
如何在django中添加日志功能
2020/02/06 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
求职简历中个人的自我评价
2013/12/01 职场文书
学校运动会开幕演讲稿
2014/01/04 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
机械专业求职信
2014/05/25 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
会议简报格式范文
2015/07/20 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis