setInterval/setTimeout特殊用法

来源:互联网 发布:mac cad格式问题 编辑:程序博客网 时间:2024/05/19 11:47

一、字符串形式:参数不能被周期性改变

setInterval("func(id)",1000);

二、匿名函数包装

window.setInterval(function(){

func(id);

 }, 1000);

   这样就可以周期性执行func(a)这个函数,而且把变量id传递进去;


三、定义返回无参函数的函数

function func(id)

{

   alert(id);

}

function _func(id)

{

return function()

{

func(id);

}

}

window.setInterval(func(id)),1000);

四、修改setInterval

function func(id)

{

alert(id);

}

var _sto = setInterval;  

window.setInterval = function(callback,timeout,param)

{  

var args = Array.prototype.slice.call(arguments,2);  

var _cb = function()

{  

callback.apply(null,args);  

}   

_sto(_cb,timeout);  

}

window.setInterval(hello,3000,userName);

以上的所有方法也适合setTimeout。

注:setInerval/setTimeout用第一种方法函数若是传递局部变量,则返回错误。



0 0
原创粉丝点击