[JS] Objecten mbv prototype

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 24-09 14:14
He allemaal,

Ik ben weer een beetje aan het prutsen en loop tegen een maf probleempje aan. Ik heb het probleem geisoleerd en ik zal wel weer over iets heel stoms heen kijken 8)7

Ik gebruik in mijn applicatie de prototype library en gebruik de functionaliteiten hiervan ook om soort van objecten te maken:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var Test = Class.create({
    woei: null,
    initialize: function(aap) {
        this.woei = aap;
    }, 
    set: function(aap) {
        this.woei = aap;
    }
});

var a = new Test('A');
a.set('AA');
        
var b = new Test('B');
b.set('BB');
        
alert('a.woei = '+a.woei);  // geeft: a.woei = AA
alert('b.woei = '+b.woei);  // geeft: b.woei = BB

Dit werkt naar behoren, niks mis mee. Maar ik wil het iets anders gebruiken:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var Test2 = Class.create({
    woei: {},
    initialize: function(aap, wat) {
        this.woei[aap] = wat;
    }, 
    set: function(aap2, wat2) {
        this.woei[aap2] = wat2;
    }
});

var a = new Test2('naam', 'A');
a.set('naam', 'AA');
var b = new Test2('naam', 'B');
b.set('naam', 'BB');
        
alert('a.woei = '+a.woei['naam']); // geeft a.woei = BB
alert('b.woei = '+b.woei['naam']); // geeft b.woei = BB


Het lijkt er dus op de b.set ook de waardes in de instantie 'a' overschrijft, hoe is dit mogelijk?! En misschien handiger, hoe is dit te voorkomen?

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Duidelijke uitleg + oplossing in 2 seconden googelen ;)

http://www.prototypejs.org/learn/class-inheritance
Types of inheritance in programming languages

[ Voor 4% gewijzigd door SchizoDuckie op 05-06-2008 17:25 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 24-09 14:14
Lol hoe ernstig. Uiteraard heb ik die pagina openstaan, maar heb er gewoon overheen gelezen!

Nu, even voor het archief. Het is dus het idee dat je je waarden in de initialize op de default waarde zet, dus even dit doen in Test2

JavaScript:
1
2
3
initialize: function() {
        this.woei = {};
}


En het werkt als een tiet 8)7

[ Voor 5% gewijzigd door Koeniepoenie op 05-06-2008 23:04 . Reden: conclusie vergeten ]

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337