第4章 变量、作用域和内存问题

本文深入探讨了JavaScript的高级概念,包括基本与引用类型的区别、作用域链的延长机制及垃圾收集策略。详解了标记清除与引用计数两种垃圾收集算法,并提供了优化内存管理的实用建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript高级程序设计第四章知识点梳理

1、基本类型值和引用类型值

   基本类型值包括:Boolean、String、undefined、Number、Null

   引用类型值:Object

   注意:ECMAScript中所有函数的参数都是按值传递的。

2、延长作用域链

   当执行流进入下列任何一个语句时,作用域链就会得到加长。

 (1)try-catch语句的catch块;

 (2)with语句

  注意:JavaScript中没有块级作用域。

3、垃圾收集

   垃圾收集的两种策略:(1)标记清除(2)引用计数

   标记清除是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存。

   引用计数算法的思想是跟踪记录所有值被引用的次数。JavaScript引擎目前都不再使用这种算法;但在IE中访问原生JavaScript对象(如DOM元素)时,这种算法仍然可能会导致问题。 

  针对上述问题,可以使用解除变量的引用来解决。解除变量的引用不仅有利于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不再使用的全局对象。全局对象属性以及循环引用变量的引用。

   

转载于:https://www.cnblogs.com/sherryStudy/p/charpter_four.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值