当前位置:首页 > JavaScript > 正文内容

带参数的window.setTimeout

canca18年前 (2008-06-18)JavaScript422

<html>
<head>
<title>带参数的setTimeout</title>
<script language="javascript">
/**
    功能:修改 window.setTimeout,使之可以传递参数和对象参数
    使用方法: setTimeout(回调函数,时间,参数1,,参数n)
*/
var __sto = setTimeout;
window.setTimeout = function(callback,timeout,param)
{
    var args = Array.prototype.slice.call(arguments,2);
    var _cb = function()
    {
        callback.apply(null,args);
    }
   
    __sto(_cb,timeout);
}

///测试代码

function aaaa(a)
{
    alert(a);
}

function aaaaa(a,b,c)
{
    alert(a + b + c);
}

function bbbbb(){
    alert("none param");
}

function ccccc(num){
    alert(num);
    if(num <= 0)return;
    window.setTimeout(ccccc,200,--num);
}

var a = new Object();
window.setTimeout(aaaa,1000,a);
window.setTimeout(aaaaa,2000,a,6,7);
window.setTimeout(bbbbb,2000);
window.setTimeout(ccccc,2000,10);
</script>
</head>
<body>
</body>
</html>

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/398.html

标签: JavaScript
分享给朋友:

“带参数的window.setTimeout” 的相关文章

javascript MailTo 邮件技巧

调用email的方法 //<a href="mailto:talantlee@126.com">Email</a>window.location.href="mailto:talantlee@126.com";myform.action="mailto:talant...

javascript 中面向对象編程 (类的继承)

// 人的基類var Person=new ( function(){  var sex;  var name;  this.getSex=function() &nbs...

javascript IE与FireFox 一些兼容写法

1>获取控件用document.getElementById,不用document.all(FF等浏览器不支持)2><button> 会被firefox解释为提交form或者刷新页面,需要写标准<button type="button">3>使用childN...

javascript 弹出式窗体详解

1>window.prompt(text, value) 簡單的基與模態窗體的對話框,(返回你輸入)   var v=window.prompt("提示","請輸入你的名字")2>window.confirm(text,mess)  模態確認框(返回"是/否...

javascript 中面向对象编程 (类的构造)

javascript 中面向对象编程 (类的构造)

不論是用java,還是c#,又或是vb,構建一個對象都很簡單,都可以采用 classobj =new classobj()的方法構造一個類,然后使用其中的屬性以及方法,其實javascript也是一樣可以實現的。    示例:建立一個js文件,定義一個對象 E...

javascrip 事件追加方法

基本方法:attachEvent(IE)/detachEvent;addEventListener( Mozilla, Netscape, Firefox)/removeEventListener在之前的邏輯判斷式的基礎上,在設計javascript的時候,可以針對瀏覽器的不同,寫出適合不同種類瀏覽...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。