<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>定时器应用函数</title>
</head>
<body>
<script>
function invoke(f,start,interval,end){
if(!start) start = 0;//默认设置为0毫秒
if(arguments.length <= 2){//单次调用模式
setTimeout(f,start);//若干毫秒后的单词调用模式
}else{
setTimeout(repeat,start);//多次调用模式
function repeat(){//在上一行所示的setTimeout()中调用
var h = setInterval(f,interval);//循环调用f
//在end秒后停止调用,前提是end已经定义了
if(end) setTimeout(function(){clearInterval(h);},end);
}
}
}
function f(){console.log('ok')};
invoke(f,2000,'interval',4000);
</script>
</body>
</html>