加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
deth.html 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
chenjianwei01 提交于 2022-08-12 11:16 . feat: js的执行顺序demo
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>debounce || throttle</title>
</head>
<body>
<script>
// 防抖:
// 维护同一个timer
// 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。
// var timer;
// function debounce(fn, delay) {
// clearTimeout(timer);
// timer = setTimeout(function(){
// fn();
// }, delay);
// }
// function testDebounce() {
// console.log('大伟聊前端');
// }
// document.onmousemove = () => {
// debounce(testDebounce, 1000);
// }
// 函数节流:
// 每隔一段时间,只执行一次函数。
// var timer1
// function throttle(fn, delay) {
// if (timer1) {
// return;
// }
// timer1 = setTimeout(function () {
// fn();
// timer1 = null;
// }, delay)
// }
// function testThrottle() {
// console.log('大伟聊前端');
// }
// document.onmousemove = () => {
// throttle(testThrottle, 1000);
// }
// 时间戳实现节流函数:
var previous = new Date();
function throttle2(fn, delay) {
var now = new Date();
if(now - previous > delay) {
fn();
previous = now;
}
}
// test
function testThrottle2(e, content) {
console.log('大伟聊前端2');
}
document.onmousemove = function (e) {
throttle2(testThrottle2, 1000);
}
</script>
</body>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化