zoukankan      html  css  js  c++  java
  • js:闭包续

    上一遍文章,主要研究了闭包的定义和表现形式,这次我们来聊聊他的应用场景

    回顾一下,闭包有两个作用:

    1.维持局部变量不被GC

    2.使局部变量能够在外部被访问

    由于接触过java,可以很自然地联想到,用闭包来模拟private method/variable

    我们老套一些,写一个People的constructor

    function People(a){
        var age = a;
       this.getOlder = function(){
        age++;
       }
    this.returnAge = function(){ return age; } }
    var p1 = new People(20);
    var p2 = new People(40);
    p1.age;//undefined
    p2.age;//udefined
    p1.getOlder();
    p2.getOlder();
    p1.returnAge(); //21
    p2.returnAge(); //41

    借助闭包,我们可以让:

    this.xxx - public

    var xxx - private

    更常见的情况是,我们可以在函数里return{func1:function(){},func2:function(){},func3:function(){}...}这样一个匿名对象来做很多事

    然而仅有个模糊的认识,掌握写法,终难究其本质

    之后需要研究下 原型/原型链,函数/构造函数 与 js里一切对象的关系

    每日让自己精进一些

    不知不觉

    就能走很远

  • 相关阅读:
    b站尚硅谷MySQL笔记(婷姐初级,周阳高级)
    word--公式添加编号
    excel--长数字显示问题
    R语言--蒙特卡洛计算定积分
    数学
    数学
    Computer Science
    Computer Science
    Computer Science
    元学习
  • 原文地址:https://www.cnblogs.com/AlexNull/p/4794294.html
Copyright © 2011-2022 走看看