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 对Cookie 操作的封装小结
Dec 31 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
Oct 20 Javascript
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 Javascript
jQuery Ajax页面局部加载方法汇总
Jun 02 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
Feb 10 Javascript
react 应用多入口配置及实践总结
Oct 17 Javascript
面试题:react和vue的区别分析
Apr 08 Javascript
json解析大全 双引号、键值对不在一起的情况
Dec 06 Javascript
package.json各个属性说明详解
Mar 11 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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初学者们头痛的十四个问题
2007/01/15 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
PDO::errorInfo讲解
2019/01/28 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python装饰器深入学习
2018/04/06 Python
python使用turtle库绘制时钟
2020/03/25 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
Python 音频生成器的实现示例
2019/12/24 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
python爬虫容易学吗
2020/06/02 Python
Python新手学习raise用法
2020/06/03 Python
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
团组织关系介绍信
2014/01/12 职场文书
医院保洁服务方案
2014/06/11 职场文书
软环境建设心得体会
2014/09/09 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers