博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
立即执行函数
阅读量:5330 次
发布时间:2019-06-14

本文共 912 字,大约阅读时间需要 3 分钟。

function a(){   var num = 0;   function b(){      num++;      console.log(num)   }   return b;}var demo = a();demo();//打印第一次1demo();//打印第二次2a执行b定义,并被保存下来闭包通俗讲就是:内部函数通过return保存在外部了,闭包会导致原有作用域链不释放,造成内存泄漏。闭包的作用:1.实现公有变量;2.可以做缓存(存储机制);3.可以实现封装,属性私有化;4.模块化开发,防止污染全局变量;function test(){  var num = 10;  function a(){    num++;    console.log(num);  //11  }  function b(){    num--;    console.log(num);  //10  }  return [a,b];}var myArr = test();myArr[0]();myArr[1]();缓存例子效果;function a(){  var list = "";  var obj = {        b:function(){          console.log(111)          list = "";        },        push:function(){          list = myList;        }      }      return obj;}var demo = a();demo.push("bob");demo.a();立即执行函数:执行后被释放;适合初始化工作。(function(){}());//w3c推荐第一种;(function(){})();传参是一样的,也一样有返回值;如:var num =(function(a,b,c){  var d = a+b+c  return d;}(1,2,3))num = 6;

 

转载于:https://www.cnblogs.com/lhl66/p/8018173.html

你可能感兴趣的文章
Java基础之字符串匹配大全
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
[工具] Sublime Text 使用指南
查看>>
Hangfire在ASP.NET CORE中的简单实现方法
查看>>
Algorithm——何为算法?
查看>>
Web服务器的原理
查看>>
小强升职计读书笔记
查看>>
常用的107条Javascript
查看>>
#10015 灯泡(无向图连通性+二分)
查看>>
elasticsearch 集群
查看>>
忘记root密码,怎么办
查看>>
linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
查看>>
《黑客与画家》 读书笔记
查看>>
bzoj4407: 于神之怒加强版
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>