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自动完成插件(autocomplete)应用之PHP版
Dec 15 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
Dec 02 Javascript
js保留小数点后几位的写法
Jan 03 Javascript
JavaScript编程中容易出BUG的几点小知识
Jan 31 Javascript
java必学必会之static关键字
Dec 03 Javascript
详解Bootstrap按钮
Jan 04 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
JavaScript实现无刷新上传预览图片功能
Aug 02 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
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
当海贼王变成JOJO风
2020/03/02 日漫
PHP微信红包API接口
2015/12/05 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
js 函数的副作用分析
2011/08/23 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
python利用sklearn包编写决策树源代码
2017/12/21 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
什么是数据抽象
2016/11/26 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
继承公证书样本
2014/04/04 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
考研英语辞职信
2015/05/13 职场文书
起诉书格式范文
2015/05/20 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
飞屋环游记观后感
2015/06/08 职场文书
2019各种保证书范文
2019/06/24 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS