Js也有console对象,在控制台打印调试再好不过 .

参考:http://blog.csdn.net/cy88310/article/details/6908826

今天在看jq的代码时看到这样一个代码

console.warn( "nothing selected, can't validate, returning nothing" );

单独运行,居然在控制台打印出了nothing selected, can't validate, returning nothing,

豁然开朗,既然可以这样在控制台打印出消息,那以后就省得麻烦去用什么alert或是按F10去逐行调试了,肯定可以节省不少时间。

特意使用for(var i in console)查看了下各种浏览器控制台对console的支持,如下


IE控制台
log  info  warn  error  assert  dir  clear  profile  profileEnd  

Firebug控制台
log  info  warn  error  debug  exception  assert  dir  dirxml  trace  group  groupEnd  groupCollapsed  time  timeEnd  profile  profileEnd  count  clear  table notifyFirebug  firebug 

Chrom控制台
profiles  memory  debug  error  info  log  warn  dir  dirxml  trace  assert  count  markTimeline  profile  profileEnd  time  timeEnd  group  groupCollapsed  groupEnd  

Opera控制台

time  timeEnd  trace  profile  profileEnd  debug  log info  warn  error  assert  dir  dirxml  group  groupCollapsed  groupEnd  count  table  

可以看出,四种浏览器对log、info、warn、error四个基本方法都是支持的,除了IE,其他三种还支持个debug,所以使用debug要注意,当然咯,平时打印调试什么的,用log就行。还有个问题,IE6/7没有开发人员工具,也就没有控制台,而FF本身也是不带控制台的,需要加载Firebug插件并且启动它,才能console,否则就是js报错了。

所以为了使用起来无这种后顾之忧,还是建议自己封装一个打印类,如logger,在其中检测当然环境对console的支持,然后调用console的打印方法,不支持就用alert或其他方法咯,并且可以设置一个开关,标识是否需要打印以及打印级别,类似log4j,哈哈,这样使用起来就方便了。

比如:console.log(变量名);则可以打印出对应的值;

          console.dir(变量对象名);则可以显示出该对象的所有属性;

猜你喜欢

转载自yjph83.iteye.com/blog/2124918
今日推荐