?
if
(
typeof
(Function.prototype.apply)
!=
"
function
"
)
{
??Function.prototype.apply? = ? function (obj,?argu)
??{
???? var ?s;
???? if (obj)
????{
??????obj.constructor.prototype._caller = this ;
??????s? = ? " obj._caller " ;
????}
???? else ?s? = ? " this " ;
???? var ?a = [];
???? for ( var ?i = 0 ;?i < argu.length;?i ++ )
??????a[i]? = ? " argu[ " + ?i? + " ] " ;
???? return ?eval(s? + " ( " + ?a.join( " , " )? + " ); " );
??};
??Function.prototype.call?? = ? function (obj)
??{
???? var ?a = [];
???? for ( var ?i = 1 ;?i < arguments.length;?i ++ )
??????a[i - 1 ] = arguments[i];
???? return ? this .apply(obj,?a);
??};?
}?
{
??Function.prototype.apply? = ? function (obj,?argu)
??{
???? var ?s;
???? if (obj)
????{
??????obj.constructor.prototype._caller = this ;
??????s? = ? " obj._caller " ;
????}
???? else ?s? = ? " this " ;
???? var ?a = [];
???? for ( var ?i = 0 ;?i < argu.length;?i ++ )
??????a[i]? = ? " argu[ " + ?i? + " ] " ;
???? return ?eval(s? + " ( " + ?a.join( " , " )? + " ); " );
??};
??Function.prototype.call?? = ? function (obj)
??{
???? var ?a = [];
???? for ( var ?i = 1 ;?i < arguments.length;?i ++ )
??????a[i - 1 ] = arguments[i];
???? return ? this .apply(obj,?a);
??};?
}?