Programmer - an organism that turns coffee into software.
Dat zit mij ook dwars... ik behelp me momenteel gewoon met:
namedObject = new MyObject("namedObject");
constructie... maar dat is niet altijd handig...
namedObject = new MyObject("namedObject");
constructie... maar dat is niet altijd handig...
Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden
slechte hack oplossing moet vast anders kunnen
geef dat object een .name value en zet die in
je create function roep een functie aan die
de private var ( dus name ) returned.
Slechte hack maar werkt wel ;-)
Stond hier boven ook al, dit is misschien duidelijker
geef dat object een .name value en zet die in
je create function roep een functie aan die
de private var ( dus name ) returned.
Slechte hack maar werkt wel ;-)
Stond hier boven ook al, dit is misschien duidelijker
Skill is when luck becomes a habit.
Zoals je al zegt een slechte hack....Op dinsdag 08 januari 2002 16:16 schreef _eek_ het volgende:
slechte hack oplossing moet vast anders kunnen
geef dat object een .name value en zet die in
je create function roep een functie aan die
de private var ( dus name ) returned.
Slechte hack maar werkt wel ;-)
Stond hier boven ook al, dit is misschien duidelijker
btw. degene die er boven stond was toch duidelijker
Programmer - an organism that turns coffee into software.
Iemand anders nog een leuk idee??
Programmer - an organism that turns coffee into software.
Volgens mij kom je niet verder dan hacks of wazige oplossingen, een variable bevat een referentie naar het object, en 2 verschillende variabelen kunnen dus naar hetzelfde object refereren.
dong is nu geen kopie van ding, maar een extra referentie. Als je dus in ding iets aanpast, krijgt dong het ook mee:
een object zit dus niet echt in een variabele, die verwijst er slechts naar, dus dan zou die in het geval van een soort name property vaak een hele lijst names moeten hebben.
code:
1
2
| var ding = new Object(); var dong = ding; |
dong is nu geen kopie van ding, maar een extra referentie. Als je dus in ding iets aanpast, krijgt dong het ook mee:
code:
1
2
3
4
5
6
7
8
| ding = new Object() dong = ding; // nieuwe property ding.name = "ding" // en dong "heeft" die nu ook alert(dong.name) |
een object zit dus niet echt in een variabele, die verwijst er slechts naar, dus dan zou die in het geval van een soort name property vaak een hele lijst names moeten hebben.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| function objectje()
{
this.a=1;
this.test=test;
this.doIets=doIets;
}
function doIets()
{
alert(this.a);
setTimeout("this.test()",10);
}
function test()
{
alert(this.a);
}
function init()
{
testt=new objectje;
testt.doIets();
} |
Zodra ik testt.doIets aanroep krijg ik een alert box met de waarde van a erin. Zodra de tweede functie wordt uitgevoerd krijg ik een error (undefined)
Iemand een idee hoe ik dat kan oplossen?
Programmer - an organism that turns coffee into software.
setTimeout("this.test()",10);
javascript zit na een timout of interval van x/1000e seconde niet meer in de functie waar de timeout of interval vandaan is gezet. Die this.test() wordt zo dus niet vanuit je object uitgevoerd, maar gewoon als onafhankelijk stuk code, en dan is this geen referentie meer naar je object.
testt=new objectje();
Daar horen haken achter.
javascript zit na een timout of interval van x/1000e seconde niet meer in de functie waar de timeout of interval vandaan is gezet. Die this.test() wordt zo dus niet vanuit je object uitgevoerd, maar gewoon als onafhankelijk stuk code, en dan is this geen referentie meer naar je object.
testt=new objectje();
Daar horen haken achter.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Pagina: 1