Chinaunix

标题: js:setTimeout 时传递参数 [打印本页]

作者: Digico    时间: 2009-09-18 09:54
标题: js:setTimeout 时传递参数

默认的setTimeout 函数无法给所调用的函数传递参数,对它做如下形式的包装后即可自由传递参数:
function master_setTimeout(callback,timeout,param)
{
    var args = Array.prototype.slice.call(arguments,2);
    var _cb = function()
    {
        callback.apply(null,args);
    }
    window.setTimeout(_cb,timeout);
}
调用示例:
window.onload=function OnWindowLoad()
{
    master_setTimeout(f1,2000,'a','b');
}
function f1(arg1,arg2)
{
    alert(arg1);
这样, 当页面载入时, 会先后跳出对话框, a, b.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1184/showart_2055025.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2