JavaScript高級程序設計第四章知識點梳理
1、基本類型值和引用類型值
? 基本類型值包括:Boolean、String、undefined、Number、Null
? 引用類型值:Object
? 注意:ECMAScript中所有函數的參數都是按值傳遞的。
2、延長作用域鏈
? 當執行流進入下列任何一個語句時,作用域鏈就會得到加長。
(1)try-catch語句的catch塊;
(2)with語句
注意:JavaScript中沒有塊級作用域。
3、垃圾收集
? 垃圾收集的兩種策略:(1)標記清除(2)引用計數
? 標記清除是目前主流的垃圾收集算法,這種算法的思想是給當前不使用的值加上標記,然后再回收其內存。
? 引用計數算法的思想是跟蹤記錄所有值被引用的次數。JavaScript引擎目前都不再使用這種算法;但在IE中訪問原生JavaScript對象(如DOM元素)時,這種算法仍然可能會導致問題。
針對上述問題,可以使用解除變量的引用來解決。解除變量的引用不僅有利于消除循環引用現象,而且對垃圾收集也有好處。為了確保有效地回收內存,應該及時解除不再使用的全局對象。全局對象屬性以及循環引用變量的引用。