JS-zelfstudie

JS HOME JS Introductie JS Waarheen? JS-uitgang JS-verklaringen JS-syntaxis JS-opmerkingen JS-variabelen JS Let JS Const JS-operators JS Rekenen JS-opdracht JS-gegevenstypen JS-functies JS-objecten JS-evenementen JS-snaren JS String-methoden JS String zoeken JS String-sjablonen JS-nummers JS-nummermethoden JS-arrays JS-array-methoden JS-array sorteren JS-array-iteratie JS Array Const JS-datums JS-datumnotaties JS Datum Ophaalmethoden Methoden voor het instellen van JS-datum JS Math JS Willekeurig JS Booleans JS-vergelijkingen JS-voorwaarden JS-schakelaar JS Loop For JS-lus voor binnen JS Loop For Of JS-lus terwijl JS Break JS-iteraties JS-sets JS-kaarten JS Typeof JS Type conversie JS Bitwise JS RegExp JS-fouten JS-bereik JS Hijsen JS strikte modus JS dit trefwoord JS-pijlfunctie JS-lessen JS JSON JS-foutopsporing JS-stijlgids JS-best practices JS-fouten JS-prestaties JS Gereserveerde Woorden

JS-versies

JS-versies JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-geschiedenis

JS-objecten

Objectdefinities Objecteigenschappen Objectmethoden Objectweergave Objectaccessoires Objectconstructeurs Objectprototypes Object-Iterables Objectsets Objectkaarten Objectreferentie

JS-functies

Functiedefinities Functieparameters: Functie-aanroep Functie-oproep: Functie Toepassen Functie Sluitingen

JS-lessen

Klas Intro Klasse Overerving Klasse Statisch

JS Asynchrone

JS-callbacks JS asynchroon JS belooft JS Async/Wachten

JS HTML DOM

DOM Intro DOM-methoden DOM-document DOM-elementen DOM HTML DOM-formulieren DOM-CSS DOM-animaties DOM-evenementen DOM-gebeurtenisluisteraar DOM-navigatie DOM-knooppunten DOM-collecties DOM-knooppuntlijsten

JS-browserstuklijst

JS-venster JS-scherm JS-locatie JS-geschiedenis JS-navigator JS pop-upwaarschuwing JS-timing JS-koekjes

JS Web API's

Introductie web-API Web Forms API Webgeschiedenis-API Webopslag-API Web Worker-API Web Fetch-API Webgeolocatie-API

JS AJAX

Ajax-intro AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

JS JSON

JSON-intro JSON-syntaxis JSON versus XML JSON-gegevenstypen JSON ontleden JSON Stringify JSON-objecten JSON-arrays JSON-server JSON PHP JSON HTML JSON JSONP

JS versus jQuery

jQuery-kiezers jQuery HTML jQuery CSS jQuery DOM

JS-graphics

JS-graphics JS Canvas JS Plotly JS Chart.js JS Google-kaart JS D3.js

JS-voorbeelden

JS-voorbeelden JS HTML DOM JS HTML-invoer JS HTML-objecten JS HTML-evenementen JS-browser JS-editor JS-oefeningen JS-quiz JS-certificaat

JS-referenties

JavaScript-objecten HTML DOM-objecten


JavaScript voor lus


Loops kunnen een codeblok een aantal keren uitvoeren.


JavaScript-lussen

Loops zijn handig als je dezelfde code steeds opnieuw wilt uitvoeren, telkens met een andere waarde.

Vaak is dit het geval bij het werken met arrays:

In plaats van te schrijven:

text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";

Je kan schrijven:

for (let i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}

Verschillende soorten lussen

JavaScript ondersteunt verschillende soorten loops:

  • for- een aantal keer door een codeblok loopt
  • for/in- doorloopt de eigenschappen van een object
  • for/of- doorloopt de waarden van een itereerbaar object
  • while- doorloopt een codeblok terwijl een opgegeven voorwaarde waar is
  • do/while- Loopt ook door een codeblok terwijl een opgegeven voorwaarde waar is

De For-loop

De forlus heeft de volgende syntaxis:

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

Statement 1 wordt (eenmalig) uitgevoerd voordat het codeblok wordt uitgevoerd.

Statement 2 definieert de voorwaarde voor het uitvoeren van het codeblok.

Statement 3 wordt (elke keer) uitgevoerd nadat het codeblok is uitgevoerd.

Voorbeeld

for (let i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

Uit bovenstaand voorbeeld kun je lezen:

Stelling 1 stelt een variabele in voordat de lus begint (laat i = 0).

Verklaring 2 definieert de voorwaarde voor het uitvoeren van de lus (i moet kleiner zijn dan 5).

Verklaring 3 verhoogt een waarde (i++) elke keer dat het codeblok in de lus is uitgevoerd.



Stelling 1

Normaal gesproken gebruik je statement 1 om de variabele die in de lus wordt gebruikt te initialiseren (let i = 0).

Dit is niet altijd het geval, JavaScript maakt niet uit. Stelling 1 is optioneel.

U kunt veel waarden starten in statement 1 (gescheiden door komma's):

Voorbeeld

for (let i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}

En je kunt statement 1 weglaten (zoals wanneer je waarden zijn ingesteld voordat de lus begint):

Voorbeeld

let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}

Verklaring 2

Vaak wordt statement 2 gebruikt om de toestand van de initiële variabele te evalueren.

Dit is niet altijd het geval, JavaScript maakt niet uit. Verklaring 2 is ook optioneel.

Als statement 2 true retourneert, begint de lus opnieuw, als het false retourneert, eindigt de lus.

Als u stelling 2 weglaat, moet u een onderbreking in de lus aanbrengen. Anders houdt de lus nooit op. Hierdoor crasht je browser. Lees over pauzes in een later hoofdstuk van deze tutorial.


Verklaring 3

Vaak verhoogt statement 3 de waarde van de initiële variabele.

Dit is niet altijd het geval, JavaScript maakt niet uit en statement 3 is optioneel.

Stelling 3 kan alles doen, zoals negatieve toename (i--), positieve toename (i = i + 15), of iets anders.

Stelling 3 kan ook worden weggelaten (zoals wanneer u uw waarden binnen de lus verhoogt):

Voorbeeld

let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
  text += cars[i] + "<br>";
  i++;
}

Loopbereik

varIn een lus gebruiken :

Voorbeeld

var i = 5;

for (var i = 0; i < 10; i++) {
  // some code
}

// Here i is 10

letIn een lus gebruiken :

Voorbeeld

let i = 5;

for (let i = 0; i < 10; i++) {
  // some code
}

// Here i is 5

In het eerste voorbeeld, met behulp van var, wordt de variabele gedeclareerd in de lus opnieuw gedeclareerd buiten de lus.

In het tweede voorbeeld, waarbij wordt gebruikt let, wordt de variabele gedeclareerd in de lus niet opnieuw gedeclareerd buiten de lus.

Wanneer letwordt gebruikt om de variabele i in een lus te declareren, is de variabele i alleen zichtbaar binnen de lus.


For/Of en For/In-lussen

De for/inlus en de for/oflus worden in het volgende hoofdstuk uitgelegd.


While-lussen

De whilelus en de do/whileworden in de volgende hoofdstukken uitgelegd.


Test jezelf met oefeningen

Oefening:

Maak een lus die loopt van 0 tot 9.

let i;
 ( = ;  < ; ) {
  console.log(i);
}