作用域

290 阅读1分钟

主要概念和分类

作用域 起作用的区域

Js中的作用域 :全局作用域 私有作用域 js作用域就是指的一块栈内存

栈内存 存储值类型 提供代码的运行环境

堆内存 存储引用数据类型

全局作用域:页面一打开就会形成一个全局作用域 一个页面只有一个全局作用域

私有作用域:函数执行的时候会形成一个私有的作用域

全局变量:在全局声明的变量叫全局变量

私有变量:在私有作用域声明的变量叫私有变量 形参也是私有变量

上级作用域 外层作用域 查找规律:上级作用域 是谁就看这个函数是在哪个作用域声明的:

 对于私有作用域中的某些变量若没有在私有作用域中声明过那么函数声明时就会去上级作用域查找该变量,上级作用域若没有该变量则接着向上级查找知道查找到全局作用域,若仍没有,则报错;      

作用域链:变量的查找机制 一直向上级作用域查找

函数执行的过程:

        先开辟一个私有作用域(栈内存),形参赋值  变量提升 然后代码从上向下执行
        私有变量有形参和在私有作用域中声明过 的变量其他的变量都是上级作用域的
        暂时性死区 在let和const之前不能使用他们声明的任何变量

例题和图解