Vraag & Antwoord

Webprogrammeren & scripting

[JavaScript] Arrays

5 antwoorden
  • [code:1:4814c3bd56] <html> <head> <title>Arrays</title> <script> function makeArray(n){ this.length=n for(var i=1;i<=n;i++){ this[i]=null; } return this } var Plaatsen=new makeArray(n) Plaatsen[0]="Amsterdam" Plaatsen[1]="Rotterdam" Plaatsen[2]="Den Haag" Plaatsen[3]="Utrecht" </script> </head> <body> <script> document.write(Plaatsen[0]); </script> </body> </html> [/code:1:4814c3bd56] Ik heb dit HTML bestand gemaakt, maar krijg steeds de melding dat "n" niet gedefinieerd is, terwijl "n" toch automatisch de waarde zou moeten krijgen van het aantal regels dat ik in die Array heb?
  • errr.... nee?? Hoe zou n die waarde moeten krijgen? Je tovert uit het niets n tevoorschijn en geeft het mee aan de functie/constructor makeArray(). Daarbij snap ik ook niet waarom je zo moeilijk doet.. var Plaatsen=new Array() ; Plaatsen[0]="Amsterdam"; Plaatsen[1]="Rotterdam"; Plaatsen[2]="Den Haag"; Plaatsen[3]="Utrecht"; werkt toch ook?
  • komt omdat ik die code uit een boek heb, maar hij werkt niet als ik "n" gebruik, wel als ik gewoon geen waarde opgeef of een nummer invoer. Maar die code uit het boek zou het toch gewoon moeten doen. En ik gebruik ook niet het "object" arrays.
  • Als dit het hele voorbeeld is, zoals ze dat in het boek hebben neergezet... dan [i:7aa7d5b141]zou[/i:7aa7d5b141] dat in principe moeten werken ja.. maar ik denk dat jij toch iets verandert hebt per ongeluk, of niet alles hebt gebruikt. Of er staat een (druk) foutje in het boek. Voordat je in javascript een variabele kan gebruiken moet het eerst bestaan. [code:1:7aa7d5b141]<script type="text/javascript"> alert(n); n = 1; </script>[/code:1:7aa7d5b141] zal dus een fout opleveren, [code:1:7aa7d5b141]<script type="text/javascript"> n = 1; alert(n); </script>[/code:1:7aa7d5b141] maar deze code niet. Bij jouw script is de eerste regel die javascript tegenkomt: var Plaatsen=new makeArray(n) (de function wordt op een andere manier verwerkt) makeArray() kent javascript, want dat is die functie. n daarentegen is een onbekende variabele, dus je krijgt een foutmelding. Maar er klopt meer niet, ook omdat ik niet goed begrijp wat de schrijver wil met zijn voorbeeld. Het lijkt erop dat men iets wat bestaat, nl. Arrays nog eens probeert te maken. Misschien als voorbeeld o.i.d. In ieder geval var Plaatsen=new makeArray(4) zal wel werken. De 4 wordt dan als waarde aan [i:7aa7d5b141]n[/i:7aa7d5b141] gegeven in de functie.
  • Had het verkeerd gelezen, dus een VB gemaakt met weinig relevantie. Hier is-ie toch: http://members.home.nl/margreet25/n.htm Ik denk ook dat je het verkeerd hebt overgetypt. Het stuk HTML klopt ook niet, daar horen nog script-tags omheen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.