控制台断点调试

HTML5学堂:在项目开发过程中,难免会需要调试一些数据,而大量的console.log()需要频繁切换JS和页面,同时最后有可能还忘记删除打印信息。使用断点调试可以更方便的掌握js执行信息。,今天来介绍下如何在浏览器上使用断点调试。

打开调试界面

首先按下F12打开调试面板,选择Sources,然后在左侧找到你需要断点调试的资源,选中就会自动打开代码。

这里用的demo是身份证验证的demo

/*
* 功能:验证身份证是否可用,如果可用,则提取生日、性别等信息
* 参数:传入一个字符串(建议不要采用数字,18位的数字会有精确度问题)
* 返回:包含基本信息的对象
* 作者:HTML5学堂 http://www.h5course.com
*/
function regIDAllInf(str){
    str = str.toString();
    var reg = /^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]\d)|(3[0-1]))((\d{4})|(\d{3}[Xx]))$/;
    // 用于存储结果
    var result = {};
    if (reg.test(str)) {
        var sum = 0;
        var arrID = str.split("");
        var arrWi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
        var arrY = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];
        for (var i = 0; i < arrWi.length; i++) {
            sum += arrID[i] * arrWi[i];
        };
        sum %= 11;
        var lastID = arrID[arrID.length - 1];
        if (lastID == "X" || lastID == "x") {
            lastID = 10;
        };
        if (arrY[sum] == lastID) {
            result["check"] = true;
            result["birthday"] = str.substr(6, 8);
            result["cityCode"] = str.substr(0, 6);
            result["gender"] = (str.substr(14, 3) % 2 == 0) ? "女" : "男";
        } else {
            result["check"] = false;
            result["error"] = "身份证号码输入错误";
        }
    } else {
        result["check"] = false;
        result["error"] = "身份证号码格式有误";
    }
    return result;
}
console.log(regIDAllInf('110000199101010001'));

可以看到,中间代码部分,有1234行数的序号,我们需要打断点就可以直接点击左侧就可以了,这里我们在几个if else 处打上断点。

可以看出来,代码执行到断点处就暂停了,这样可以非常方便我们看数据交互状态,鼠标放在参数上面也可以看到具体的参数信息,右侧也可以看到断点时候的局部和全局的属性,当我们执行到return 的时候能更清楚的看到return 之前所有数据的状态。

断点调试的基本用法就是这样了,比起console.log()的方式打印出信息,这样做能够更全面的掌握代码的执行情况,并且不需要频繁的修改js,但是记得调试完后把断点全部取消哦,取消方法:再次左键点击一下就取消了断点调试了。是不是感觉更方便了呢。

HTML5小编-其其 耗时1.5h

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程微刊

微信小程序云开发数据库操作查询记录

数据库操作参考API:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-cl...

1623
来自专栏deed博客

[代码参考]在html文件调用其它html文件的几种方法

1853
来自专栏极客编程

Vue.js如何写一个简单的原生js模块,浏览器中的表现如何?

浏览器正在逐步的支持原生JavaScript模块。Safari和Chrome的最新版本已经支持它们了,Firefox和Edge也将很快推出。

1262
来自专栏崔庆才的专栏

只会用Selenium爬网页?Appium爬App了解一下

1.6K5
来自专栏FreeBuf

CIA机密文档追踪工具Scribbles详细分析

2017年4月28日,维基解密发布了CIA“涂鸦”(Scribbles)项目的文档和源代码(参考地址1)。这是一个文档预处理系统,用于给涉密文档打上“Web b...

2027
来自专栏码生

iOS IPhone swift 实现 文件管理器 实时查看、管理、导出沙盒目录

1103
来自专栏我是攻城师

解决kibana搜索提示框占位问题

4036
来自专栏自动化测试实战

flask第十七篇——模板【1】

2845
来自专栏非著名程序员

环境配置:React Native智能开发工具,可代码提醒的IDE—VS Code

(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) VS Code是一个专门为React Nat...

2925
来自专栏Web 开发

ubuntu学习手札——中文设置,源设置等等最基本的

3. 对于类似“哪个源更快”这样的问题,并没有一个标准答案。每个人的网络状况有不同,不同网站的下载速度对会不同。更改完设置之后,在Software Sour...

691

扫码关注云+社区