第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元素)时,这种算法仍然可能会导致问题。 

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

   

posted @ 2019-04-23 11:31  笨鸟不会飞~~  阅读(107)  评论(0编辑  收藏  举报