js函数防抖

2020-09-01

前端

之前写了一篇javascript防抖是应用在按钮中的

今天继续完善一下,下面的函数ruben就算循环10亿次,一秒内也会只调用一次

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var antiShakeFlag = false;
function ruben() {
if (antiShakeFlag) {
return;
}
console.log("ruben")
antiShakeFlag = true;
setTimeout(() => {
antiShakeFlag = false;
}, 1000);
}
for (let i = 0; i < 10; i++) {
console.log("achao")
ruben();
}

另外做点补充吧,再分享一个some函数,用于判断数组内是否有元素满足某条件的

判断数组中是否有元素包含y

judge判断数组中是否有元素包含z

1
2
3
4
5
6
7
8
9
var names = ['ruben', 'achao', 'zhangsan'];
var result = names.some(name => name.indexOf("y") != -1)
console.log(result)

function judge(value) {
return value.indexOf("z") != -1;
}
result = names.some(judge);
console.log(result)

输出结果

image-20200901212401099