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 相关文章推荐
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
来自国外的30个基于jquery的Web下拉菜单
Jun 22 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
Aug 25 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
Dec 22 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
Mar 07 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
Oct 28 Javascript
vue2中引用及使用 better-scroll的方法详解
Nov 15 Javascript
关于自定义Egg.js的请求级别日志详解
Dec 12 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应用程序的七个习惯深入分析
2013/06/08 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
简单的php购物车代码
2020/06/05 PHP
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python map和reduce函数用法示例
2015/02/26 Python
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
Python 导入文件过程图解
2019/10/15 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
实习生自我评价
2014/01/18 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
驾驶员安全责任书
2014/07/22 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
小平小道观后感
2015/06/09 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
nginx之内存池的实现
2022/06/28 Servers