JS篇-----

作用域:

  1. let 声明的变量会产生块作用域,var 不会产生块作用域
  2. const 声明的常量也会产生块作用域
  3. 不同代码块之间的变量无法互相访问
  4. 推荐使用 let 或 const

全局作用域有哪些?

script 标签内部

.js 文件

作用域链本质上是底层的变量查找机制。

在函数被执行时,会优先查找当前函数作用域中查找变量

如果当前作用域查找不到则会依次逐级查找父级作用域直到全局作用域

什么是垃圾回收机制?

垃圾回收机制(Garbage Collection) 简称 GC

JS中内存的分配和回收都是自动完成 的,内存在不使用的时候会被垃圾回收器自动回收。

正因为垃圾回收器的存在,许多人认为JS不用太关心内存管理的问题

但如果不了解JS的内存管理机制,我们同样非常容易成内存泄漏(内存无法被回收)的情况

不再用到的内存,没有及时释放,就叫做内存泄漏

JS中内存生命周期:分配、使用、回收

全局变量一般不会回收(关闭页面回收)

一般情况下局部变量的值,不用了会被自动回收

堆栈空间分配区别:

  1. 栈(操作系统): 由操作系统自动分配释放函数的参数值、局部变量 等,基本数据类型放到栈里面。
  2. 堆(操作系统): 一般由程序员 分配释放,若程序员不释放,由垃圾回收机制回收。复杂数据类型放到堆里面
相关推荐
夜之眷属42 分钟前
记一次战斗服务器 CPU 打满 100% 且“无法恢复“的排查
java·linux·运维·服务器·后端·性能优化
starzy19901 小时前
Flink ResourceManager启动流程源码深度剖析:从ClusterEntrypoint到Slot分配的完整链路
java·大数据·flink
悠仁さん1 小时前
【C++】auto
java·前端·c++
害人终害己1 小时前
Redisson 连接 Redis 失败 报错解决方案
java·开发语言
学编程就要猛1 小时前
Spring AI Alibaba(上)
java·人工智能·spring·springaialibaba
吠品1 小时前
箭头函数为什么不能 new
开发语言·javascript·原型模式
苹果二1 小时前
使用Vue的指南
前端·javascript·vue.js
imDwAaY1 小时前
Spring Boot的核心配置文件一览及其加载顺序
java·spring boot·后端
zhangx1234_1 小时前
javaEE 多线程1
java·linux·服务器