来源:郑州达内it教育
时间:2021/5/11 14:53:04
郑州推荐个学web前端的机构,小编在这里为大家推荐郑州达内IT培训,17年专业IT培训机构,美国上市集团,开设IT培训班Java、python、大数据、linux、UI、会计等IT培训,覆盖IT培训和非IT培训共24大课程。达内集团凭借雄厚的技术研发实力、过硬的教学质量、成熟的就业服务团队,为学员提供强大的职业竞争力,在用人企业中树立了良好的口碑。欢迎大家的在线咨询,0元试听,随到随学,推荐就业。接下来小编为您分享,15个web前端自定义函数工具库
5、函数防抖
语法:debounce(callback,wait)
功能:创建一个防抖动函数,该函数会从上一次被调用后,延迟wait毫秒后调用callback
理解:触发了一次函数会在延迟wait毫秒后调用callback,但再次点击,会清空掉再次计算
场景:input框输入时
<body>
<input type="text">
<script>
let input = document.querySelector(‘input‘)
// input.onkeydown = function(e){
// console.log(e.keyCode);
// }
input.onkeydown = debounce(function(e){
console.log(e.keyCode);
},1000)
function debounce(callback,time){
//定时器变量
let timeId = null
// 返回值一定是个函数,否则无法触发回调
return function(e){
//timeId !== null 证明已经有一个timeif在跑,先清除掉再继续跑
if(timeId !== null){
clearTimeout(timeId)
}
//启动定时器
timeId = setTimeout(()=>{
callback.call(this,e)
// 重置定时器变量
timeId = null
},time)
}
}
</script>
</body>
6、数组函数map封装实现
map()方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
const arr = [1,2,3,4,5]
Array.prototype.map = function (callback) {
let result = []
for(let i = 0;i<this.length;i++){
result.push(callback(this[i],i))
}
return result
}
let arr2 = arr.map((item,index) => {
return item *10
})
console.log(arr2);
7、数组函数reduce封装实现
reduce():从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回一次回调函数的返回值。
const arr = [1,2,3,4,5]
// 示例
let result = arr.reduce((res,value)=>{
return res + value
},0) //0为res初始值,value为arr的值
console.log(result); //15
Array.prototype.reduce = function(callback,value){
let result = value
for(let i = 0;i<this.length;i++){
result = callback(result,this[i])
}
return result
}
// 演示
let arr2 = arr.reduce((res,value)=>{
return res + value
},5)
console.log(arr2);
温馨提示:为了不影响您的时间,来校区前或者遇到不明白的问题请先电话咨询,方便我校安排相关课程的专业老师为您解答,选取适合您的课程。以上是郑州达内教育的小编为您分享的关于15个web前端自定义函数工具库的内容,希望可以为同学们提供帮助,更多web前端资讯请持续关注郑州达内教育。
版权所有:搜学搜课(www.soxsok.com)