Skip to content

Commit a1e5227

Browse files
committed
upate GC
1 parent fb62dbc commit a1e5227

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

article/004-variables-scope.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,13 @@ result = variable instanceof constructor
6969
```
7070
### 二、垃圾收集
7171

72-
#### 1、标记清除
73-
#### 2、引用计数
74-
#### 3、性能问题
75-
#### 4、管理内存
72+
JavaScript 是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存分配和回收问题。可以对JavaScript的垃圾收集例程做如下总结。
73+
74+
- 离开作用域的值将被自动标记为可以回收,因此将在垃圾收集期间被删除。
75+
- “标记清除”是目前主流的垃圾手机算法,这种算法的思想是给当前不使用的值加上标记,然后在回收其内存。
76+
- 另一种垃圾收集算法是“引用计数“,这种算法的思想是跟踪记录所有值引用的次数。JavaScript引擎目前都不再使用这种算法;但在IE中访问非原生JavaScript对象(如DOM元素)时,这种算法仍然可能会导致问题。
77+
- 当代码中存在循环引用现象时,”引用计数“ 算法就会导致问题。
78+
- 解除变量的引用不仅有助于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不再使用的全局对象、全局对象属性以及循环引用变量的引用。
7679

7780

7881

0 commit comments

Comments
 (0)