在某种程度上,这与面向方面的编程相关,[7]但是这里不打算嵌套函数;相反,将一次性地重载所需要的方法,每当调用该方法时就触发事件。
我们将需要在函数运行之前触发一个事件,以便修改函数的参数。还需要在函数运行之后触发一个事件,以便获取返回的数据,甚至在必要时进行修改。
我们来看看如何编写实现这一功能的插件。下面将对每个步骤单独作出说明。