共计 825 个字符,预计需要花费 3 分钟才能阅读完成。
问题形容:
1、从 start 到 end(蕴含 start 和 end),每隔 100 毫秒 console. log 一个数字,每次数字增幅 1
2、返回的对象中须要蕴含一个 cancel 办法,用于进行定时操作
3、第一个数须要立刻输入
参考答案:
// 实现法一(setTimeout() 办法):function count(start, end) {if (start <= end) {console.log(start++);
st = setTimeout(function() {count(start, end);
}, 100);
}
return {cancel: function() {clearTimeout(st);
}
};
}
count(1, 10);
// 实现法二(setInterval() 办法):function count(start, end) {console.log(start++);
var timer = setInterval(function() {if (start <= end) {console.log(start++);
}
}, 100);
return {cancel: function() {clearInterval(timer);
}
};
}
count(1, 10);
知识点:
setTimeout() 办法用于在指定的毫秒数后调用函数或计算表达式。
语法:setTimeout(code, millisec)
留神:setTimeout() 只执行 code 一次。如果要屡次调用,请应用 setInterval() 或者让 code 本身再次调用 setTimeout()。
setInterval() 办法可依照指定的周期(以毫秒计)来调用函数或计算表达式。
语法:setInterval(code , millisec[, “lang”])
setInterval() 办法会不停地调用函数,直到 clearInterval() 被调用或窗口被敞开。由 setInterval() 返回的 ID 值可用作 clearInterval() 办法的参数。
正文完