Skip to content

Commit 0470013

Browse files
committed
Modified Nullify with examples and links to be more confident.
1 parent f66ae40 commit 0470013

File tree

7 files changed

+78
-1
lines changed

7 files changed

+78
-1
lines changed

Nullify/Nullify.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ Nullify.prototype.fillContent = function()
44
var oTest1 = document.getElementById("test1");
55
var oTest2 = document.getElementById("test2");
66
var oTest3 = document.getElementById("test3");
7+
oTest1.onclick = function () {};
8+
oTest2.onclick = function () {};
9+
oTest3.onclick = function () {};
710

811
oTest1.innerHTML = 'TEST 1';
912
oTest2.innerHTML = 'TEST 2';
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
http://javascript.crockford.com/memory/leak.html
2+
http://geekswithblogs.net/FrostRed/archive/2008/11/29/127440.aspx
3+
http://www.ibm.com/developerworks/web/library/wa-memleak/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<html>
2+
<body>
3+
<script type="text/javascript">
4+
var nElement = 0;
5+
var nTimes = 100000;
6+
function createElement() {
7+
var oDiv = document.createElement("div");
8+
oDiv.onclick = function () {};
9+
}
10+
for (; nElement < nTimes; nElement++) {
11+
createElement();
12+
}
13+
</script>
14+
</body>
15+
</html>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<html>
2+
<body>
3+
<script type="text/javascript">
4+
var nElement = 0;
5+
var nTimes = 100000;
6+
function createElement() {
7+
var oDiv = document.createElement("div");
8+
oDiv.onclick = function () {};
9+
oDiv = null;
10+
}
11+
for (; nElement < nTimes; nElement++) {
12+
createElement();
13+
}
14+
</script>
15+
</body>
16+
</html>

Try-Finally/TryFinally.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ TryFinally.prototype.getContent = function()
44
var oTest1 = document.getElementById("test1");
55
var oTest2 = document.getElementById("test2");
66
var oTest3 = document.getElementById("test3");
7-
7+
oTest1.onclick = function () {};
8+
oTest2.onclick = function () {};
9+
oTest3.onclick = function () {};
810
try
911
{
1012
return {
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<html>
2+
<body>
3+
<script type="text/javascript">
4+
var aElements = [];
5+
var nElement = 0;
6+
var nTimes = 100000;
7+
function createElement() {
8+
var oDiv = document.createElement("div");
9+
oDiv.onclick = function () {};
10+
return oDiv;
11+
}
12+
for (; nElement < nTimes; nElement++) {
13+
aElements.push(createElement());
14+
}
15+
</script>
16+
</body>
17+
</html>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<html>
2+
<body>
3+
<script type="text/javascript">
4+
var aElements = [];
5+
var nElement = 0;
6+
var nTimes = 100000;
7+
function createElement() {
8+
var oDiv = document.createElement("div");
9+
oDiv.onclick = function () {};
10+
try {
11+
return oDiv;
12+
} finally {
13+
oDiv = null;
14+
}
15+
}
16+
for (; nElement < nTimes; nElement++) {
17+
aElements.push(createElement());
18+
}
19+
</script>
20+
</body>
21+
</html>

0 commit comments

Comments
 (0)