JavaScript高级程序设计第四章知识点梳理
1、基本类型值和引用类型值
基本类型值包括:Boolean、String、undefined、Number、Null
引用类型值:Object
注意:ECMAScript中所有函数的参数都是按值传递的。
2、延长作用域链
当执行流进入下列任何一个语句时,作用域链就会得到加长。
(1)try-catch语句的catch块;
(2)with语句
注意:JavaScript中没有块级作用域。
3、垃圾收集
垃圾收集的两种策略:(1)标记清除(2)引用计数
标记清除是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存。
引用计数算法的思想是跟踪记录所有值被引用的次数。JavaScript引擎目前都不再使用这种算法;但在IE中访问原生JavaScript对象(如DOM元素)时,这种算法仍然可能会导致问题。
针对上述问题,可以使用解除变量的引用来解决。解除变量的引用不仅有利于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不再使用的全局对象。全局对象属性以及循环引用变量的引用。