资讯专栏INFORMATION COLUMN

闭包的应用场景一:setTimeout

honmaple / 2251人阅读

摘要:应用场景一原生的有一个缺陷,你传递的第一个函数不能带参数。即这样的语句是不生效的不过在不同浏览器中有不同的错误,总之都无法达到预期效果这时,我们就可以用闭包来实现这个效果了。

应用场景一:setTimeout

原生的setTimeout有一个缺陷,你传递的第一个函数不能带参数。即

setTimeout(func(parma),1000);

这样的语句是不生效的(不过在不同浏览器中有不同的错误,总之都无法达到预期效果)

这时,我们就可以用闭包来实现这个效果了。

function func(param) {
    return function() {
        alert(param);
    }
}
var f = func(1)
setTimeout(f, 1000);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79038.html

相关文章

  • js 闭包使用技巧

    摘要:闭包的学术定义先来参考下各大权威对闭包的学术定义百科闭包,又称词法闭包或函数闭包,是引用了自由变量的函数。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。 前言 上一章讲解了闭包的底层实现细节,我想大家对闭包的概念应该也有了个大概印象,但是真要用简短的几句话来说清楚,这还真不是件容易的事。这里我们就来总结提炼下闭包的概念,以应付那些非专人士的心血来潮。 闭包的学术...

    dendoink 评论0 收藏0
  • 彻底弄懂函数防抖和函数节流

    摘要:若时间差大于间隔时间,则立刻执行一次函数。不同点函数防抖,在一段连续操作结束后,处理回调,利用和实现。函数防抖关注一定时间连续触发的事件只在最后执行一次,而函数节流侧重于一段时间内只执行一次。 原博客地址,欢迎star 函数防抖和节流 函数防抖和函数节流:优化高频率执行js代码的一种手段,js中的一些事件如浏览器的resize、scroll,鼠标的mousemove、mouseover...

    Mr_houzi 评论0 收藏0
  • javascript - 闭包定义及应用场景

    摘要:什么是闭包闭包是指有权访问另一个函数作用域中的变量的函数。在内存中维持一个变量。 什么是闭包 闭包是指有权访问另一个函数作用域中的变量的函数。 function createFunc() { var name = wheeler; return function () { return name; } } var nameFunc = crea...

    Xufc 评论0 收藏0
  • 函数防抖和节流

    摘要:应用场景给按钮加函数防抖防止表单多次提交。对于输入框连续输入进行验证时,用函数防抖能有效减少请求次数。参考十分钟学会防抖和节流轻松理解函数节流和函数防抖 函数防抖和节流 防抖 对于触发非常频繁又没有必要每次都执行的事件,希望合并到一次去执行; 实现思路: 事件触发后,在规定的时间范围内如果事件重复触发,那么忽略之前触发的事件,并且重新开始计时,直到某一次事件触发后大于规定时间,我们才执...

    daydream 评论0 收藏0
  • 函数防抖和节流是个啥???

    摘要:函数防抖和节流,都是控制事件触发频率的方法。封装一个函数,让持续触发的事件监听是我们封装的这个函数,将目标函数作为回调传进去,等待一段时间过后执行目标函数第二点实现了,再看第一点持续触发不执行。 曾经面试时候被问到过这个,年少的我一脸无知。。。 后来工作中遇到了一个场景:输入名称的同时去服务器校验名称是否重复,但发现之前的代码竟然都没做限制,输入一次发一次请求。简直忍不了,就在项目的u...

    edagarli 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<