4.1 基本类型和引用类型的值
复制变量值
基本类型值--创建一个新值,复制的变量和原变量互不影响
引用类型值--复制的副本实际上是一个指针,与原变量引用同一个对象
传递参数
若传递的是基本类型值,参数实际上是局部变量
若传递的是引用类型值,会把这个值的内存地址复制给一个局部变量,相应的变化会反映到函数外部
检测类型
基本类型值--typeof
引用类型值--instanceof [1,2,3] instanceof Array
4.3 垃圾收集
标记清除
变量进入环境时,将这个变量标记为“进入环境”,离开环境时标记为“离开环境”
引用计数
跟踪记录每个值被引用的次数
严重问题:循环引用(相互引用)
IE中的COM对象的垃圾收集机制采用的是引用计数
解决:手工切断
性能问题
确定垃圾收集的时间间隔是一个非常重要的问题
管理内存
分配给Web浏览器的可用内存数量通常要比分配给桌面应用程序的少
确保占用最少的内存可以让页面获得更好的性能
解除引用-一旦数据不再有用,将其值设为null
解除引用不意味着自动回收该值所占用的内存
真正作用是让值脱离执行环境,便于下次回收