Position Absolute

使用jquery aop插件来调试您的javascript

调试JavaScript代码并不总是容易的,您可以获得正常的编程流,但您还有一堆连接到DOM元素的事件侦听器,这些侦听器并没有真正遵循特定模式。

js文件中的狩猎听众可能是非常乏味的,这是在哪里 AOP插件 can help you.

什么是面向方面的编程? (AOP)

“在计算中,面向方面的编程(AOP)是一个编程范例,它与主程序的业务逻辑隔离辅助或支持功能。它旨在通过允许分离横切问题,形成面向方面的软件开发的基础,增加模块化。“

一个好的aop文章

在JavaScript中,使用此技术,您可以将侦听器绑定到任何函数或对象,该函数将在执行该功能时被解雇。使用此信息,您可以知道何时执行函数,并且DOM元素触发它。

jquery aop插件 非常小,它允许在任何全局或实例对象中添加建议(之前,之后,之后,最后,周围,并介绍)。

查看演示

*打开您的Firebug或开发人员控制台

如何使用它

使用插件很简单,首先将脚本添加到头部(您可以 下载它)

一个例子:

jQuery.aop.before( {target: String, method: 'replace'}, 
  function(regex, newString) { 
    console.log("About to replace string '" + this + "' with '" + newString + "' using regEx '" + regex + "'");
  }
);

当替换字符串时,您将触发此日志,非常甜蜜。

让我们添加一点扭曲

如果我们想要轻松测试任何功能怎么办?

var debug = {
	customConnect : function(instance){
		jQuery.aop.before( {target: eval(instance.object), method: instance.method}, function(object) { 
		    console.log('Function Fired : ' + instance.object + "." + instance.method ); 
		    console.log("DOM caller : "); 
		    console.log(object); 
		    console.log("object state : "); 
		    console.log(this); 
		    console.log('----------'); 
		  }
		);
	}
}

如您所见,您现在可以使用此方法基本绑定所有内容。想知道你的灯箱何时被解雇?或者可能在这个特别是函数时?满容易。

		debug.customConnect({"object": "appModal", "method": "load"})
 
		debug.customConnect({"object": "window", "method": "test"})  // to test an inline function

这将是你用它的方式。在此示例中,我在加载LightBox之前和在使用测试()函数之前,请触发日志。

而已

这只是一个开始,你也可以记录任何DOM修改,这个插件可以真正给你很多调试电源。

下载源代码 查看演示