setInterval(callbackfunc,time)中callbackfunc传参数问题

var si=setInterval(callbackfunc,time)中callbackfunc传参数问题(循环执行)

var st=setTimeout(callbackfunc,time);定时执行

如何循环执行和定时执行

clearInterval(si);

clearTimeout(st);

 

一般是格式如:  setInterval(show,2000)

     function  show(){

     alert("dd");

     }

如果传参数可以这么写:

window.setInterval(function(){show(param);}, 2000);

 但是有个问题 就是设计到动态的比如说show(i,param)

实验:

1.全局变量

 

var i=0; 

function show(){


setInterval(fiunction(){showAlert(i);}, 1000);     //每次循环执行的时候  i都是0
//setInterval(fiunction(){showAlert();}, 1000);   //每次循环的时候 i都是递增的
}

 function showAlert(){

console.log(i++);

 }

 

2.局部变量

 function show(){

var i=0;

setInterval(fiunction(){showAlert(i);}, 1000);     //每次循环执行的时候  i都是0

//setInterval(fiunction(){showAlert();}, 1000);   //每次循环都是nan
}

function showAlert(i){

 console.log(i++);

 }

 

 

 

建议   如果是控制循环的话就 设置全局变量 i    如果是固定参数param的话就可以使用function (){showalert(param);}的方法了 。

 注: setInterval(fiunction(){showAlert();}, 1000);和 setInterval(showAlert(), 1000);是没有分别的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值