新城夏尔_Alex
论坛版主
论坛版主
  • 最后登录2017-06-28
  • 发帖数6
阅读:8882回复:0

控制台(F12)console的调试方法

楼主#
更多 发布于:2017-02-25 23:13
大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方。可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上console.log
先的简单介绍一下chrome的控制台,打开chrome浏览器,按f12就可以轻松的打开控制台

图片:1.png




大家可以看到控制台里面有一首诗还有其它信息,如果想清空控制台,可以点击左上角那个

图片:2.png



来清空,当然也可以通过在控制台输入console.clear()来实现清空控制台信息。如下图所示

图片:3.png







现在假设一个场景,如果一个数组里面有成百上千的元素,但是你想知道每个元素具体的值,这时候想想如果你用alert那将是多惨的一件事情,因为alert阻断线程运行,你不点击alert框的确定按钮下一个alert就不会出现。
下面我们用console.log来替换,感受一下它的魅力。

图片:4.png




看了上面这张图,是不是认识到log的强大之处了,下面我们来看看console里面具体提供了哪些方法可以供我们平时调试时使用。

图片:5.png




目前控制台方法和属性有:["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]
下面我们来一一介绍一下各个方法主要的用途。一般情况下我们用来输入信息的方法主要是用到如下四个
1、console.log 用于输出普通信息2、console.info 用于输出提示性信息
3、console.error用于输出错误信息4、console.warn用于输出警示信息
5、console.debug用于输出调试信息用图来说话

图片:6.png



console对象的上面5种方法,都可以使用printf风格的占位符。不过,占位符的种类比较少,只支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)四种

图片:7.png



%o占位符,可以用来查看一个对象内部情况
var dog = {};
dog.name = "大毛";
dog.color = "黄色";
console.log("%o", dog);

图片:8.png



6、console.dirxml用来显示网页的某个节点(node)所包含的html/xml代码
<body>
    <table id="mytable">
        <tr>
            <td>A</td>
            <td>A</td>
            <td>A</td>
        </tr>
        <tr>
            <td>bbb</td>
            <td>aaa</td>
            <td>ccc</td>
        </tr>
        <tr>
            <td>111</td>
            <td>333</td>
            <td>222</td>
        </tr>
    </table>
</body>
<script type="text/javascript">
    window.onload = function () {
        var mytable = document.getElementById(‘mytable‘);
        console.dirxml(mytable);
    }
</script>

图片:9.png




7、console.group输出一组信息的开头
8、console.groupEnd结束一组输出信息
看你需求选择不同的输出方法来使用,如果上述四个方法再配合group和groupEnd方法来一起使用就可以输入各种各样的不同形式的输出信息。

图片:10.jpg




9、console.assert对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台

图片:11.jpg



10、console.count 当你想统计代码被执行的次数

图片:12.jpg


11、console.dir 直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等

图片:13.jpg




12、console.time 计时开始
13、console.timeEnd 计时结束(看了下面的图你瞬间就感受到它的厉害了)

图片:14.jpg




14、console.profileconsole.profileEnd配合一起使用来查看CPU使用相关信息

图片:15.jpg



在Profiles面板里面查看就可以看到cpu相关使用信息

图片:16.jpg


15、console.timeLineconsole.timeLineEnd配合一起记录一段时间轴
16、console.trace 堆栈跟踪相关的调试上述方法只是我个人理解罢了。如果想查看具体API,可以上官方看看,具体地址为:https://developer.chrome.com/devtools/docs/console-api

最新喜欢:

doubleyongdouble...
游客


返回顶部

公众号

公众号