day20-21方法setInterval与setTimeout

JS中setTimeout()的用法详解

setTimeout(code,millisec)
code:要调用的函数后要执行的 JavaScript 代码串。(使用函数名作为调用句柄时,不能带有任何参数,也不能加函数调用运算符(),加了以后函数会立即执行,达不到想要的效果。如果非要加,必须把这个函数加引号。)

一个小技巧,它可以实现code写函数带参数。

<script language="JavaScript" type="text/javascript"> <!-- var userName="jack";
//根据用户名显示欢迎信息
function hello(_name){    
alert("hello,"+_name);
}
//创建一个函数,用于返回一个无参数函数
function _hello(_name){    
return function(){       
hello(_name);    } }
window.setTimeout(_hello(userName),3000);
 //-->
</script>

这里定义了一个函数_hello,用于接收一个参数,并返回一个不带参数的函数,在这个函数内部使用了外部函数的参数,从而对其调用,不需要使用参数。在window.setTimeout函数中,使用_hello(userName)来返回一个不带参数的函数句柄,从而实现了参数传递的功能。
返回了一个不带参数的匿名函数,函数调用运算符运算了函数以后,返回了这个匿名函数,然后后面就可以按照我们的想法执行了。

millisec:在执行代码前需等待的毫秒数。

clearTimeout(timeoutID)
它可以让前面这个方法停下来。
timeoutID:setTimeout(code,millisec)赋值的变量名
例:

function hello(){   
alert("hello");
}
var id=window.setTimeout(hello,5000);
document.onclick=function(){   
window.clearTimeout(id);
 }
  • 此时timeoutID为id

setTimeout()重复执行:使用函数套娃法

function countSecond()
{ x = x+1
  document.fm.displayBox.value=x
  setTimeout("countSecond()", 1000)
}
countSecond()

JS中SetInterval()

setInterval(code,millisec[,“lang”])(第三个参数先不管啦!)
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

  • 如果想声明全局变量,变量前面不写var或let就好啦!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值