Javascript闭包的代码示例

本篇文章给大家带来的内容是关于Javascript闭包的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

闭包

当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄露

//内部的函数被返回到外部,必然形成闭包function a(){function b(){var b = 234;console.log(a);}var a = 123;return b;}var demo = a();demo(); // -->123

登录后复制

function test1(){var num = 100;function test2(){num ++;console.log(num);}return test2;}var demo1 = test1();demo1();  //101demo1();  //102

登录后复制

//function test(){            var arr = [];            for(var i = 0; i 

最后函数执行的时候会调用test的AO中的i

AO{i = 10;}

登录后复制

解决方案:立即执行函数

function test() {            var arr = [];            for(var i = 0; i 

 1.实现公有变量

eg:函数累加器

function add(){var count = 0;function demo(){count ++ ;console.log(count);}return demo;}var counter = add();counter();

登录后复制

2.可以做缓存

eg:eater

function test2(){var food = 'apple';var obj = {eatFood : function(){if(food != ""){console.log("I am eatting " + food);food = '';}else{console.log("There is nothing! empty!");}},pushFood : function(myFood){food = myFood;}}return obj;}var obj = test2();obj.eatFood();obj.eatFood();obj.pushFood('banana');obj.eatFood();

登录后复制

3.可以实现封装,属性私有化。

eg: Person();

以上就是Javascript闭包的代码示例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2732726.html

(0)
上一篇 2025年3月8日 00:48:24
下一篇 2025年3月6日 04:14:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript闭包的解析(附代码)

    本篇文章给大家带来的内容是关于JavaScript闭包的解析(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。了…

    编程技术 2025年3月8日
    200
  • JavaScript复杂判断逻辑写法技巧

    本篇文章给大家带来的内容是关于JavaScript复杂判断逻辑写法技巧,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在某些场景中,我们可能会遇到多个判断条件的情况,针对这种情况,我们通常会使使用if/else/switc…

    编程技术 2025年3月8日
    200
  • JavaScript中声明提升的介绍(代码示例)

    本篇文章给大家带来的内容是关于JavaScript中声明提升的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、概述 JS 中,我们会理所当然地认为代码是一句一句地执行的,但并不完全正确。 singer …

    编程技术 2025年3月8日
    200
  • JavaScript中高阶函数的介绍(代码示例)

    本篇文章给大家带来的内容是关于javascript中高阶函数的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一个函数就可以接收另一个函数作为参数,简言之,函数的参数能够接收别的函数,这种函数就称之为高阶函…

    2025年3月8日
    200
  • JavaScript变量的介绍(附代码)

    本篇文章给大家带来的内容是关于JavaScript变量的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 正如代数一样,javascript 变量用于保存值或表达式。 可以给变量起一个简短名称,比如 x,或者更…

    编程技术 2025年3月8日
    200
  • VBScript和JavaScript之间的区别是什么?

    vbscript和javascript都是一种脚本语言,那么它们之间有什么不同?下面本篇文章就来大家了解一下vbscript和javascript之间的区别,希望对大家有所帮助。【视频教程推荐:javascript教程】 什么是VBScri…

    2025年3月8日
    200
  • vue模块拖拽效果的实现代码

    本篇文章给大家带来的内容是关于vue模块拖拽效果的实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 正巧在之前面试中遇到问实现拖拽效果 当时面试的时候简单回答了实现的方式与逻辑。 现在闲来无事,把这个东西实现了一下。…

    编程技术 2025年3月8日
    200
  • Node.js之静态资源服务器实现(附代码)

    本篇文章给大家带来的内容是关于node.js之静态资源服务器实现(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 本文介绍了一个简单的静态资源服务器的实例项目,希望能给Node.js初学者带来帮助。项目涉及到htt…

    2025年3月8日
    200
  • Koa日志中间件封装开发的方法介绍

    本篇文章给大家带来的内容是关于Koa日志中间件封装开发的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 对于一个服务器应用来说,日志的记录是必不可少的,我们需要使用其记录项目程序每天都做了什么,什么时候发生过错误,…

    2025年3月8日
    200
  • Node中模块实现过程的详细介绍(附示例)

    本篇文章给大家带来的内容是关于node中模块实现过程的详细介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CommonJS 定义了 module、exports 和 require 模块规范,Node.js …

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论