/***********************************
*Author:Java619
*Time:2006-08
************************************/
也许你过去在setTimeout中传参数一直是这样
setTimeout("pass(" + argu + ")",1000)
这样只能传字符串,对传递object就无能为力了,需要大费文章.然而别忘了,第一个参数还可以是function
下面举个实例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 向setTimeout传递函数参数</TITLE>
</HEAD>

<script type="text/javascript">...
var _st = window.setTimeout;

window.setTimeout = function(fRef, mDelay) ...{

if(typeof fRef == 'function')...{
var argu = Array.prototype.slice.call(arguments,2);

var f = (function()...{ fRef.apply(null, argu); });
return _st(f, mDelay);
}
return _st(fRef,mDelay);
}


function hello(x,y)...{
alert(x+" "+y);
}
window.setTimeout(hello,1000,'Hello','Ceun');
</script>
<BODY>

</BODY>
</HTML>
现在向setTimeout中传递带参数的函数是不是方便多了,其实就是重载了下window.setTimeout
用apply去回调前面的函数。