Ik zit wat te rommelen met een javascript leak detector en natuurlijk komen er tal van leaks naar boven.
Nu heb ik op het web volgens mij alle JS sites wel gehad maar nu zit ik toch nog met de volgende vraag:
Ik gebruik zelf altijd een JS opbouw zoals onderstaand
Echter nu zeurt die JS leak detector dus dat dit anonymous functions zijn en dus leaks
Maar er moet toch een niet leakende manier zijn om dit te doen.?
Deze code werkt niet
Ter info ik gebruik Microsoft GPD Europe Javascript memory leaks detector
Nu heb ik op het web volgens mij alle JS sites wel gehad maar nu zit ik toch nog met de volgende vraag:
Ik gebruik zelf altijd een JS opbouw zoals onderstaand
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| function MyObject(container) { //Prop this.Name = 'Test'; this.Container = document.getElementById(container); //Build this.build(); } MyObject.prototype.build = function() { var _self = this; var oDiv = document.createElement('div'); oDiv.innerHTML = 'Divje'; oDiv.onclick = function() { _self.handleClick(); } this.Container.appendChild(oDiv); oDiv = null; } MyObject.prototype.handleClick = function() { alert(this.Name); //Geeft "Test" terug } |
Echter nu zeurt die JS leak detector dus dat dit anonymous functions zijn en dus leaks
Maar er moet toch een niet leakende manier zijn om dit te doen.?
Deze code werkt niet
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| function MyObject1(container) { //Prop this.Name = 'Test'; this.Container = document.getElementById(container); //Build this.build(); } MyObject1.prototype.build = function() { var _self = this; var oDiv = document.createElement('div'); oDiv.innerHTML = 'Divje'; oDiv.onclick = _self.handleClick; this.Container.appendChild(oDiv); oDiv = null; } MyObject1.prototype.handleClick = function() { alert(this.Name); //Geeft "Undefined" terug } |
Ter info ik gebruik Microsoft GPD Europe Javascript memory leaks detector
[ Voor 8% gewijzigd door vorlox op 04-06-2008 17:23 ]