Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS] Class binnen class

Pagina: 1
Acties:

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 24-11 23:24
Ik heb een vaag probleem.....als ik binnen een klasse nog een keer een instantie maak van een inner class *insert JS terminology here* dan houdt het script op met executen nadat in dit geval 'leef' gealert is. Dus 'zip', 'leef', maar geen 'block'.

Het komt uit een enorm stuk JS, maar zoals het nu hier onder staat blijft het probleem bestaan.

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
25
26
27
28
29
30
31
32
33
34
35
function Address()
{
    
    self = this;
    
    function Zipblock()
    {
        alert('leef');
        this.straat = straat;
        this.nummering = nummering;
        this.nummervan = nummervan;
        this.nummertot = nummertot;
        
        this.error = "";
        
        this.getCheck = function()
        {
            return true;
        }
    }

    this.processAddressData = function()
    {
        childNodesCount = 2
        for (var i = 0; i < childNodesCount; i++)
        {
            alert('zip');
            test2 = new Zipblock();
            alert('block');
        }
    }
}

test = new Address();
test.processAddressData();

iOS developer


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:57

crisp

Devver

Pixelated

Check je javascript error-console, die zegt duidelijk op regel 9 'straat is not defined' ;)

Overigens zou ik je variabelen lokaal declareren.

Intentionally left blank


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je vergeet overal var voor te zetten (aangenomen dat straat, nummering etc. wel ergens gedefinieerd worden) ;)

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
25
26
27
28
29
30
31
32
33
34
35
function Address()
{
    
    var self = this;
    
    function Zipblock()
    {
        alert('leef');
//        this.straat = straat;
//        this.nummering = nummering;
//        this.nummervan = nummervan;
//        this.nummertot = nummertot;
        
        this.error = "";
        
        this.getCheck = function()
        {
            return true;
        }
    }

    this.processAddressData = function()
    {
        var childNodesCount = 2
        for (var i = 0; i < childNodesCount; i++)
        {
            alert('zip');
            test2 = new Zipblock();
            alert('block');
        }
    }
}

var test = new Address();
test.processAddressData();


En wat crisp zegt.

[ Voor 87% gewijzigd door RobIII op 16-07-2007 17:07 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 24-11 23:24
Dat werkt prima.

Maar ik kan er even niet bij hoe het mogelijk is dat schijnbaar totaal ongerelateerde code (test2 is de enige variabele waar geen var voor gezet is is) op dat punt een ander resultaat geeft.

iOS developer