zoukankan      html  css  js  c++  java
  • 私有作用域&闭包机制

    闭包:是一种机制,函数执行的时候会形成一个私有作用域,来保护里面的变量不受外界干扰,我们把这种机制叫做闭包,私有变量有两种:一种是参数,第二种是在私有作用域下也解释的变量

    函数执行的步骤:
    1.形成私有作用域
    2.给形参赋值
    3.预解释
    4.函数体执行

    function fn(){
    var f=0;
    f++;
    console.log(f)
    }
    console.log(f);
    

    全局:预解释:function fn=xxxfff000; 代码执行:f没有 所以报错了

    var a=1;
    var b=2;
    function sum(a){
      var b=10
    a++
    b++
    console.log(a,b)}
    //全局预解释:var a,b,function sum=xxxfff000
    //全局执行:a=1,b=2,sum(1)形成一个私有作用域
    //1.给参数赋值,a=1
    //2.私有作用域预解释:var b
    //3.b=10,a=2,b=11
    //全局中console.log(a,b);1,2
    

    在私用作用域下遇到变量先看是不是自己的私有变量(两者),是的话就是私有的,不是的话就网上一级找,如果没有就继续找,直到找到全局下为止,还没找到就报错了,这种查找机制就叫做"作用域链",私有作用域下的私有变量外界访问不到,但是可以获取外界的"我的就是我的,你的也可以是我的"

  • 相关阅读:
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
    C语言寒假大作战01
    C语言I作业12—学期总结
    C语言I博客作业11
    C语言I博客作业10
    预习非数值数据的编码方式
    计算机组成与系统结构作业01
    C语言||作业01
  • 原文地址:https://www.cnblogs.com/Jiazexin/p/7080406.html
Copyright © 2011-2022 走看看