# util 库模块帮助文档

## util 成员列表 <a id="util" href="#util">&#x23;</a>

### util.after(目标对象,成员函数,钩子函数) <a id="util.after" href="#util.after">&#x23;</a>
创建并返回一个函数对象,  
在调用目标函数之后调用钩子函数  
钩子函数如果首个返回值非空则替换目标函数的全部返回值  
如果目标函数或钩子函数为空,返回非空函数 .  

参数一省略则默认为global对象

### util.after(目标对象,成员函数名,钩子函数) <a id="util.after" href="#util.after">&#x23;</a>
创建并返回一个函数对象,  
在调用目标函数之后调用钩子函数  

如果参数二为字符串,则直接更新原函数

### util.after(目标对象,成员函数名,钩子对象,钩子函数名) <a id="util.after" href="#util.after">&#x23;</a>
创建并返回一个函数对象象,  
在调用目标函数之后调用钩子函数  
目标对象绑定为成员函数的owner参数,  
钩子对象绑定为钩子函数的owner参数

### util.apply(函数,owner,参数表) <a id="util.apply" href="#util.apply">&#x23;</a>
用法类似call  
调用函数并显示指定owner参数  
参数三为参数表(table数组)  
该函数在遇到错误时抛出异常

### util.before(目标对象,成员函数,钩子函数) <a id="util.before" href="#util.before">&#x23;</a>
创建并返回一个函数对象,  
在调用目标函数之前调用钩子函数  
钩子函数无返回值则调用目标函数返回值  
如果目标函数或钩子函数为空,返回非空函数 .  

参数一省略则默认为global对象

### util.before(目标对象,成员函数名,钩子函数) <a id="util.before" href="#util.before">&#x23;</a>
创建并返回一个函数对象,  
在调用目标函数之前调用钩子函数  

如果参数二为字符串,则直接更新原函数

### util.before(目标对象,成员函数名,钩子对象,钩子函数名) <a id="util.before" href="#util.before">&#x23;</a>
创建并返回一个函数对象象,  
在调用目标函数之前调用钩子函数  
目标对象绑定为成员函数的owner参数,  
钩子对象绑定为钩子函数的owner参数

### util.bind(目标函数,不定参数) <a id="util.bind" href="#util.bind">&#x23;</a>
该函数生成一个函数对象以调用目标函数  
可按目标函数形参顺序指定任意个默认实参值  
第一个出现的null参数对应返回函数的第一个调用实参

### util.hitch(owner对象,函数对象) <a id="util.hitch" href="#util.hitch">&#x23;</a>
为函数绑定 owner 对象  
可选在后面绑定任意个默认实参  
第一个出现的null参数对应返回函数的第一个调用实参

### util.hitch(owner对象,函数方法名) <a id="util.hitch" href="#util.hitch">&#x23;</a>
为函数绑定 owner 对象  
可选在后面绑定任意个默认实参  
第一个出现的null参数对应返回函数的第一个调用实参
