调试Javascript代码(浏览器F12及VS中debugger关键字)


Posted in Javascript onJanuary 25, 2013

目前,常用的浏览器IE、Chrome、Firefox都有相应的脚本调试功能。作为我们.NET 阵营,学会如何在IE中调试JS就足够了,在掌握了IE中的调试方法以后,Chrome和Firefox中的调试方法也变得相当简单了。

JavaScript debugger 语句

开启 debugger ,代码在执行到第三行前终止。

var x = 15 * 5;
debugger;
document.getElementbyId("demo").innerHTML = x;

定义和用法

debugger 语句用于停止执行 JavaScript,并调用 (如果可用) 调试函数。
使用 debugger 语句类似于在代码中设置断点。
通常,你可以通过按下 F12 开启调试工具, 并在调试菜单中选择 "Console" 。
注意: 如果调试工具不可用,则调试语句将无法工作。

在F12开发人员工具中进行调试

打开IE浏览器,按下F12键,就会打开开发人员工具,这是IE内置的开发人员开发工具,方便开发人员对HTML、CSS、Javascript等网页资源进行跟踪调试使用的。

调试Javascript代码(浏览器F12及VS中debugger关键字)

如果你打开的时候没有固定在网页底部,可以点击右上角菜单栏中的按钮来完成。

调试Javascript代码(浏览器F12及VS中debugger关键字)

我们看到在这个工具窗口里面有几个标签页,分别是:HTML、CSS、控制台、脚本、探查器和网络,点开每一个标签,可以执行相应的任务。

在HTML标签窗口中,工具栏中的按钮所执行的操作如下图:

调试Javascript代码(浏览器F12及VS中debugger关键字)

CSS标签是用来查看样式的;控制台显示网页中JS的各种输出信息,包括错误信息、用户日志等;打开脚本标签页,这里面才是我们想要的内容。

调试Javascript代码(浏览器F12及VS中debugger关键字)

我在图中用黄色矩形选中连个控件,左侧的下拉列表用来选择文件,右侧的按钮用来启动调试。当点击启动调试后,调试程序会将窗口最大化,我们在选中的文件中找到需要调试的位置,点击左侧边栏添加断点即可进行调试。

调试Javascript代码(浏览器F12及VS中debugger关键字)

当有程序运行到我们的断点处时,就可以进行调试了。

调试Javascript代码(浏览器F12及VS中debugger关键字)

在这里,我们可以使用快捷键进行操作,常用的快捷键如下

F9:添加/移除 断点

F10:逐过程,即跳过该语句中的方法、表达式等

F11:逐语句调试,即单步调试,会跳入方法、表达式,进行逐语句的跟踪调试

在执行过程中,如果我们要执行即时的代码,我们就需要在右侧的窗格中输入代码,按回车即可。

调试Javascript代码(浏览器F12及VS中debugger关键字)

如果要执行多行代码,点击运行按钮右侧的双箭头,就会打开多行模式。我就不再截图片了。

这种直接在浏览器中调试的方法同样适用于Google浏览器Chrome和FireFox FireDebug,只不过在细枝末叶上面有些不同罢了,主体的功能都是一样的。

按F12键进入开发者工具,可以查看源代码、样式和js。

调试Javascript代码(浏览器F12及VS中debugger关键字)

点击Scripts按钮,可以打开这个调试窗口,里面包含了网页中脚本文件源码,点击左侧的按钮可以打开选择文件的侧窗口。右侧有调试的工具按钮,不过我不喜欢这些纯英文的界面,所以大部分的调试都还是在IE下进行。并且会在IE下转到VS中。

下面我就介绍如何在VS中调试我们的JS代码。

使用debugger关键字进行调试

这种方法很简单,我们只需要在进行调试的地方加入debugger关键字,然后当浏览器运行到这个关键字的时候,就会提示是否打开调试,我们选择是就可以了。这种调试可以选择调试工具,是新打开vs还是在现有的VS中调试,都可以选择,个人比较喜欢这中调试方式。

调试Javascript代码(浏览器F12及VS中debugger关键字)

当我们运行这段程序的时候,会弹出调试提示窗口:

调试Javascript代码(浏览器F12及VS中debugger关键字)

如果你的浏览器没有弹出这个窗口,你需要进行一下简单的设置,打开Internet选项:

调试Javascript代码(浏览器F12及VS中debugger关键字)

将红色方框中的两项取消勾选就可以了。

设置以后就可以使用debugger关键字进行调试了;进过这样的设置,我们还可以捕获到意外的错误,进行跟踪调试。

好了,本文就介绍到这里,有不明白的地方请和我交流。调试是一个实践的过程,只有使用次数多了,才能掌握其中的方法和技巧。

Javascript 相关文章推荐
js获取当前页面的url网址信息
Jun 12 Javascript
node.js中的fs.exists方法使用说明
Dec 17 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
Aug 28 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 Javascript
windows下vue-cli导入bootstrap样式
Apr 25 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 Javascript
JS实现全屏预览F11功能的示例代码
Jul 23 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
Jul 03 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
Mar 03 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
Jul 18 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 #Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
Jan 25 #Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
Jan 25 #Javascript
javascript表单验证 - Parsley.js使用和配置
Jan 25 #Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
Jan 25 #Javascript
使用JavaScript动态设置样式实现代码(2)
Jan 25 #Javascript
使用JavaScript动态设置样式实现代码及演示动画
Jan 25 #Javascript
You might like
PHP编码规范-php coding standard
2007/03/16 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
javascript判断office版本示例
2014/04/11 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
node.js超时timeout详解
2014/11/26 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
python遍历数组的方法小结
2015/04/30 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
python实现浪漫的烟花秀
2019/01/30 Python
家庭户外服装:Hawkshead
2017/11/02 全球购物
阿拉伯书店:Jamalon
2019/07/24 全球购物
农业资源与环境专业自荐信范文
2013/12/30 职场文书
大学生创业感言
2014/01/25 职场文书
政风行风整改报告
2014/11/06 职场文书
追讨欠款律师函
2015/05/27 职场文书
如何写通讯稿
2015/07/22 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
MySQL中连接查询和子查询的问题
2021/09/04 MySQL