使用console调试打印js日志

时间:2022-05-05 00:39:07

在此之前通常调试js代码我都是使用alert()来查看变量,直到公司最近有个项目使用了前些项目的框架,页面在ie下提示console未定义错误,我才知道console这个东西。

console是一个控制台打印对象,比如在火狐下,用f12可以打开控制台,我们在代码里可以使用console.log(),console.info(),console.error()等方法来输出不同级别的日志信息。

而在ie下,有些版本并不支持这个对象,所以会弹出console未定义的错误。

我们可以使用if(window.console) 方法来判断是否支持该对象。并且我自己封装了它的方法,我对其内部原理和js语法并不熟悉,所以封装的这个东西只能满足目前我的使用。



[javascript] view plaincopyprint?
  1. //   
  2. //  Log.js  
  3. //  打印日志  
  4. //  本质上是封装了console,防止在ie下报错  
  5. //  Created by ljy on 2014-10-21.  
  6. //  Copyright 2014 ljy. All rights reserved.  
  7. //   
  8. var Log = {  
  9.     /*判断是否支持console*/  
  10.     isSupport:function() {  
  11.         if(window.console) {  
  12.             return true;  
  13.         }  
  14.         return false;  
  15.     },  
  16.     log:function(message) {  
  17.         if(this.isSupport()) {  
  18.             console.log(message);  
  19.         }  
  20.     },  
  21.     i:function(message) {  
  22.         if(this.isSupport()) {  
  23.             console.info(message);  
  24.         }  
  25.     },  
  26.     d:function(message) {  
  27.         if(this.isSupport()) {  
  28.             console.debug(message);  
  29.         }  
  30.     },  
  31.     w:function(message) {  
  32.         if(this.isSupport()) {  
  33.             console.warn(message);  
  34.         }  
  35.     },  
  36.     e:function(message) {  
  37.         if(this.isSupport()) {  
  38.             console.error(message);  
  39.         }  
  40.     },  
  41.     profile:function(message) {  
  42.         if(this.isSupport()) {  
  43.             console.profile(message);  
  44.         }  
  45.     },  
  46.     profileEnd:function() {  
  47.         if(this.isSupport()) {  
  48.             console.profileEnd();  
  49.         }  
  50.     },  
  51.     time:function(message) {  
  52.         if(this.isSupport()) {  
  53.             console.time(message);  
  54.         }  
  55.     },  
  56.     timeEnd:function(message) {  
  57.         if(this.isSupport()) {  
  58.             console.timeEnd(message);  
  59.         }  
  60.     },  
  61.     dir:function(obj) {  
  62.         if(this.isSupport()) {  
  63.             console.dir(obj);  
  64.         }  
  65.     }  
  66. };