js调试系列 初识控制台


Posted in Javascript onJune 18, 2014

写在最开头:其实我以前就在考虑要不要写这个东西,因为这个东西确实不难,但是为什么会有这么多人问,他们问的不是怎么用控制台,而是不知道控制台能干嘛,他们也知道有 console.log 之类的东西,但他们不知道为什么要用这么长的字符串代替 alert 输出信息。在他们眼里 alert 足以。好吧,我承认小小的吐槽了下,不过这个系列我只打算介绍下调试的基本知识,不会涉及太深,因为深入的东西结合js知识,如果你js没到一个境界,我就算教你调试bug,破解一些插件之类的,你也根本不知道我在做什么。我的目的只是让你认识控制台,让你入门调试,之后的路还得靠你们自己走。

当然大侠请飘过,或者吐槽一下也行。。

js调试系列目录:

其实做web开发的都知道这东西,不论是前端还是后台,但是很多人只停留在html查看和css修改上,完全没有把控制台利用起来。
说不定有些刚入门的还不知道有这东西呢。。
这东西的资料网上一抓一大把,但是都没有讲调试方面的,只是介绍基本的怎么用而已。。

不论是 chrome firefox ie(8以上版本) 还是 360急速浏览器 搜狗浏览器 等等,只要按 F12 就能打开控制台。
我们的文章以 chrome 为例讲解,不为什么,因为我喜欢 chrome 而已。。萝卜白菜各有所爱。。
ps: ff 以前都是firebug的天下,现在原生的也非常不错了。

现在我们按一下 F12 打开控制台,点击 Console 这一项。

js调试系列 初识控制台

可以看到我的头像和几行文字,不过下面还有几行东西,我们暂时先忽略,以后会讲解的。
其实对于这 F12 而言,最确切的叫法是开发人员工具,Console 这一项才是控制台。
PS:做为基础教程,我只介绍 Console 和 Sources 方面的调试,其他功能自己去了解吧。。

点击右键的 Clear console 菜单 或者 输入 clear() 然后按回车即可清空控制台内容。
我们进行第一步用 console.log 输出信息吧。
分别输入 console.log("hehe..") 和 console.log("hehe..", "haha..") 然后按回车,可以在控制台看到输出结果。

js调试系列 初识控制台

其实就是输出信息而,非常简单,用他代替 alert 和 document.write 调试,你的工作会变的非常轻松的。

例如调试一个循环这部分的代码,可是数组里却有几十个甚至上百个元素,alert 的话你会点疯掉的,
document.write 也不是不行,但是对于对象输出,你只能看到 [object Object] 这样的东西。
这是很多新人朋友遇到的真实问题。

如果用 console.log 代替 alert document.write 输出对象信息,可以在控制台展开这对象查看具体信息。
例如:

var arr = [{name: "尼玛", age: 22}, {name: "尼美", age: 20}];
for (var i=0; i<arr.length; i++) {
	console.log(arr[i]);
}

js调试系列 初识控制台

可以直接看到对象信息,而不会显示 [object Object] 令我们一头雾水。
js调试系列 初识控制台

是不是突然觉得 console.log ?疟?耍?br /> 其实这只是他的冰山一角而已,我会尽量把他的一些优势都展现给你们看。
继续刚才的步骤,现在我们直接输入 arr 然后回车。
js调试系列 初识控制台

是不是更吊了,现在可以直接点击 Object 展开这个数组内的对象进行查看了,连循环输出都省了。
这就是控制台的魅力,而且这只是他最基础的功能而已。

我们先来认识下 console 对象下还有那些方法供我们使用吧。
输入 console 然后回车,展开这个对象,
js调试系列 初识控制台
可以看一些深色和浅色的东西,深色的就是我们可以直接调用的方法了,浅色的表示默认属性或方法,展示无需关心,以后有机会再说。
其实常用的只有 log dir 而已,其他真心很少用,到高级调试才会用上。
group,table 之类的辅助性质,可用可不用,看你喜好了。我不太喜欢用。

我们走一步看一步吧,反正先从 log dir 说起,大部分的调试就靠他们了。
PS:其实应该给你们官方文档的,可是最近谷歌打不开,所以自行百度查看各个方法的功能吧。

找到个中文版,还不错,各位看先《console对象》。

来几个课后练习:(先打开百度,然后打开控制台)
1 在控制台查看 ID 为 kw1 的元素信息
2 然后用 console.dir 方法查看 kw1 元素的信息

Javascript 相关文章推荐
javascript 中对象的继承〔转贴〕
Jan 22 Javascript
用JQuery调用Session的实现代码
Oct 29 Javascript
jquery tab插件精简版分享
Sep 10 Javascript
批量实现面向对象的实例代码
Jul 01 Javascript
GRID拖拽行的实例代码
Jul 18 Javascript
jQuery+AJAX实现无刷新下拉加载更多
Jul 03 Javascript
js中跨域方法原理详解
Jul 19 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 Javascript
jQuery实现的事件绑定功能基本示例
Oct 11 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
ext前台接收action传过来的json数据示例
Jun 17 #Javascript
Ext GridPanel加载完数据后进行操作示例代码
Jun 17 #Javascript
ext中store.load跟store.reload的区别示例介绍
Jun 17 #Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
Jun 17 #Javascript
javascript setinterval 的正确语法如何书写
Jun 17 #Javascript
ext combobox动态加载数据库数据(附前后台)
Jun 17 #Javascript
JavaScript实现简单图片滚动附源码下载
Jun 17 #Javascript
You might like
PHP XML操作类DOMDocument
2009/12/16 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
Hotels.com南非:酒店预订
2017/11/02 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
父亲节活动总结
2015/02/12 职场文书
python状态机transitions库详解
2021/06/02 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
服务器SVN搭建图文安装过程
2022/06/21 Servers