博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
私有作用域&闭包机制
阅读量:5160 次
发布时间:2019-06-13

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

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

函数执行的步骤:

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=10a++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

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

转载于:https://www.cnblogs.com/Jiazexin/p/7080406.html

你可能感兴趣的文章
mysql 之多表查询
查看>>
高大上版解决粘包问题
查看>>
前端之BOM和DOM
查看>>
前端之JS
查看>>
前端之BootStrap
查看>>
前端之jQuery
查看>>
HTML 前端
查看>>
pycharm 导入 新安装 moudle
查看>>
ES使用text类型字段排序报错
查看>>
Core源码(二) Linq的Distinct扩展
查看>>
Core源码(三) Lazy<T>
查看>>
分库情况下的数据库连接注入
查看>>
Spring MVC
查看>>
AFO以后的机房游记
查看>>
qtableview 右键菜单弹出及获取数据
查看>>
巧用UserAgent来解决浏览器的各种问题
查看>>
log4net 开启内部调试
查看>>
Java多线程学习笔记(二)
查看>>
地图源改变之后mxd文件打开很慢的问题
查看>>
51Nod - 1013 3的幂的和
查看>>