第4章 变量、作用域和内存问题
JavaScript高级程序设计第四章知识点梳理
1、基本类型值和引用类型值
基本类型值包括:Boolean、String、undefined、Number、Null
引用类型值:Object
注意:ECMAScript中所有函数的参数都是按值传递的。
2、延长作用域链
当执行流进入下列任何一个语句时,作用域链就会得到加长。
(1)try-catch语句的catch块;
(2)with语句
注意:JavaScript中没有块级作用域。
3、垃圾收集
垃圾收集的两种策略:(1)标记清除(2)引用计数
标记清除是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存。
引用计数算法的思想是跟踪记录所有值被引用的次数。JavaScript引擎目前都不再使用这种算法;但在IE中访问原生JavaScript对象(如DOM元素)时,这种算法仍然可能会导致问题。
针对上述问题,可以使用解除变量的引用来解决。解除变量的引用不仅有利于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不再使用的全局对象。全局对象属性以及循环引用变量的引用。
标签:
JavaScript
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 如何不购买域名在云服务器上搭建HTTPS服务