setTimeout函数是javascript中实现动态效果最关键的函数。但昨天在写代码的时候发现当第一个参数是函数调用的时候,不能向被调函数传递参数。这真是个非常严重的问题,我排查了好久才发现问题,浪费了N多时间啊。。
后来上网查了查,这其实是IE的一个BUG。解决方法有很多,其中我觉得最牛的一种就是重写setTimeout函数。。。这个太麻烦了。。这里推荐一种十分简单的方法。只需要在你要调用的函数前加上function{}关键字就行了。
function ShowMsg(x,y) { } setTimeout(funtion(){ShowMsg(x,y)},1000);
这样就方便地解决了不能传参的问题。