博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的第一个JS组件-跨浏览器JS调试工具
阅读量:5226 次
发布时间:2019-06-14

本文共 2587 字,大约阅读时间需要 8 分钟。

  武汉九天鸟-p2p网贷系统开发-互联网应用软件开发

  公司官网:
  社交问答: 

最近,在看公司一个JS大牛写的各种组件,复杂的不能完全看懂,只好从容易的入手。

看了一个JS调试工具类,在写Demo的过程中,发现了问题。

于是,我网上查找了一些资料,然后自己亲自动手,写了一个JS调试工具。

实际需求

JS不方便调试,alert这种方式不太友好,比较浪费时间。

了解到浏览器内置了Console对象(JavaScript中没有),但是不同浏览器支持的方法确是不同的。

因此,有必要自己对Console的方法进行封装下,从而适应不同浏览器。

工具类JS源码

/** * FansUnion-JS-Log1.0 * * QQ: 240370818 * Email: LeiWen@FansUnion.cn * Date:2013.12.9 * Copyright 2013-2014, leiwen *///调试工具类var LogUtil = (function(win, doc) { var LogUtil = win.LogUtil || {}; //默认可以使用 LogUtil.enable = true;  //以下4个方法,IE/Firefox/Chrome/Opera都支持  //console-info 消息 LogUtil.info = function(msg){     LogUtil.doLog(msg,'info'); };   //console-error 错误 LogUtil.error = function(msg){     LogUtil.doLog(msg,'error'); };  //console-warn  警告 LogUtil.warn = function(msg){     LogUtil.doLog(msg,'warn'); };  //console-log,可以显示(Firefox下,在All中显示,错误-警告-消息-调试信息中都不会显示) LogUtil.log = function(msg){     LogUtil.doLog(msg,'log'); };   //以下是某个或某几个浏览器支持的方法,部分浏览器可能不支持;如果不支持,不会报错,也没有提示  //debug LogUtil.debug = function(msg){  LogUtil.doLog(msg, 'debug'); };  //用户根据自己的需求,调用某个浏览器特定的方法 LogUtil.doLog = function(msg, level){     var useable = LogUtil.isUseable(level);  //可用才能调用  if(useable){     win.console[level](msg);  } };  //console的方法是否可用,IE/Firefox/Chorome/Opera支持的方法是不同的 //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   //判断某个level的调试是否可用(level=error,warn,info,debug等) LogUtil.isUseable =function(level){    var useable =  LogUtil.enable && win.console && win.console[level];    return useable; }  return LogUtil;})(window, document);

 

测试例子

 

fansunion-log-demo

 

运行效果

 

自我评价

写了人生第一个JS组件,还是蛮激动的。

亲自动手,胜过千言万语。

不动手,永远不会,永远只能膜拜大牛。

一个重大失误

JS函数不能同名。

 
 下面2个是同一个方法,JS只根据函数名区分函数,不能重载。(与Java不同)
 LogUtil.debug = function(msg){

     //这个地方调用的是下面的方法,不是“类似于Java中的方法重载”,而是“JavaScript中的方法覆盖”

     LogUtil.debug(msg,"debug");

 };
 
 LogUtil.debug = function(msg,level){
 };
 下面的会覆盖上面的。

请求支援

CSDN2013博客之星评选,正在进行中,欢迎支持!

参考资料

公司某JavaScript大牛半成品的JS调试组件

原文链接22(小雷博客-blog.fansunion.cn)

  武汉九天鸟-p2p网贷系统开发-互联网应用软件开发

  公司官网:
  社交问答: 

转载于:https://www.cnblogs.com/qitian1/p/6463382.html

你可能感兴趣的文章
[转]ASP数组全集,多维数组和一维数组
查看>>
C# winform DataGridView 常见属性
查看>>
逻辑运算和while循环.
查看>>
Nhiberate (一)
查看>>
c#后台计算2个日期之间的天数差
查看>>
安卓开发中遇到的小问题
查看>>
ARTS打卡第3周
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
cookies相关概念
查看>>
CAN总线波形中ACK位电平为什么会偏高?
查看>>
MyBatis课程2
查看>>
桥接模式-Bridge(Java实现)
查看>>
svn客户端清空账号信息的两种方法
查看>>
springboot添加servlet的两种方法
查看>>
java的Array和List相互转换
查看>>
layui父页面执行子页面方法
查看>>
如何破解域管理员密码
查看>>
Windows Server 2008 R2忘记管理员密码后的解决方法
查看>>
IE11兼容IE8的设置
查看>>
windows server 2008 R2 怎么集成USB3.0驱动
查看>>