if ( ops.unique )
{
// check whether it had been added before
if ( fn.name !== ” && hasName( fn.name ) )
{
return this;
}
}
ar.push( fn );
if ( ops.memory )
{
// after added , call it immediately
fn.call( this, lastArgs );
}
}
return this;
};
// remove a function
this.remove = function ( fn )
{
if ( typeof ( fn ) === ‘function’
&& fn.name !== ”
&& ar.length > 0 )










