JavaScript for sætning

Definition og brug

for-sætningen opretter en løkke, der udføres, så længe betingelsen er sand.

Så længe betingelsen er sand, vil løkken fortsætte med at køre. Det stopper kun, når betingelsen bliver falsk.

JavaScript understøtter forskellige typer af løkker:

  • for - gentagne gange køre kodeblokken
  • for/in - gennemgå objektets egenskaber
  • for/of - Gennemløb værdierne i en iterabel objekt
  • while - Gentag kodeblokken, mens den specifikke betingelse er sand
  • do/while - Kør en kodeblok én gang og gentag løkken, hvis den specifikke betingelse er sand

Tip:Brug break-sætningen for at springe ud af løkken, og brug continue-sætningen til at springe over en værdi i løkken.

Eksempel

Kør kodeblokken fem gange:

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

Prøv det selv

Der er flere TIY-eksempler nedenfor på siden.

Syntaks

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

Parameter værdi

Parameter Beskrivelse
statement1

Valgfri. Udføres før løkkens start (kodeblokken). Bruges normalt til at initialisere tællervariablen. Hvis du skal initialisere flere værdier, adskil dem med kommaer.

Kommentar:Denne parameter kan udelades. Men lad ikke udelade semikolonet ";"

statement2

Valgfri. Definerer betingelsen for løkkens kørsel (kodeblokken). Bruges normalt til at evaluere tællervariablenes betingelse. Hvis den returnerer true, vil løkken starte igen, og hvis den returnerer false, vil løkken afsluttes.

Kommentar:Denne parameter kan udelades. Men lad ikke udelade semikolonet ";". Desuden skal der oprettes en break, hvis denne parameter udelades. Ellers vil løkken aldrig afsluttes, hvilket kan få din browser til at krasje.

statement3

Valgfri. Udføres efter hvert udførelse af løkken (kodeblokken). Bruges normalt til at øge eller formindske tællervariablen.

Kommentar:Denne parameter kan udelades (f.eks. øg/føj til værdien inden i løkkens krop).

Tekniske detaljer

JavaScript version: ECMAScript 1

Flere eksempler

Eksempel

Løkken gennemgår arrayets indekser og indsamler bilnavne fra cars-arrayet:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}

Prøv det selv

Eksempel forklaring:

  • Først sætter vi en variabel (var i = 0;) før løkkens start
  • Herefter definerer vi betingelsen for løkkens kørsel. Så længe variablen er mindre end arrayets længde (dvs. 4), fortsætter løkken
  • Hver gang løkken udføres, øges variablen med én (i++)
  • Så snart variablen ikke længere er mindre end 4 (arrayets længde), betingelsen er falsk, og løkken afsluttes

Eksempel

Initialiser flere værdier i den første parameter:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i;
for (i = 0, len = cars.length, text = ""; i < len; i++) { 
  text += cars[i] + "<br>";
}

Prøv det selv

Eksempel

Udelad den første parameter (sæt værdi før løkken starter):

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}

Prøv det selv

Eksempel

Brug af continue sætning - Spring over kodeblokken, men spring over værdien "3":

var text = ""
var i;
for (i = 0; i < 5; i++) {
  if (i == 3) {
    continue;
  }
  text += "The number is " + i + "<br>";
}

Prøv det selv

Eksempel

Brug af break-sætning - udfør et stykke kode, men forlad løkken, når variablen i er lig med "3":

var text = ""
var i;
for (i = 0; i < 5; i++) {
  if (i == 3) {
    break;
  }
  text += "The number is " + i + "<br>";
}

Prøv det selv

Eksempel

Udelad den anden parameter. I dette eksempel bruger vi også break-sætningen, når i er lig med "3" for at forlade løkken (hvis den anden parameter udelades, skal der gives en break inde i løkken. ellers vil løkken aldrig ende, og din browser vil krasje):

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; ; i++) {
  if (i == 3) {
    break;
  }
  text += cars[i] + "<br>";
}

Prøv det selv

Eksempel

Gennemløb arrays indeks i faldende rækkefølge (negativ inkrementering):

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = cars.length - 1; i >= 0; i--) {
  text += cars[i] + "<br>";
}

Prøv det selv

Eksempel

Udelad den sidste parameter og øg værdien inden i løkken:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var len = cars.length;
for (; i < len;) { 
  text += cars[i] + "<br>";
  i++;
}

Prøv det selv

Eksempel

Gennemløb NodeList-objektets noder og ændr baggrundsfarven på alle <p>-elementer i listen:

var myNodelist = document.getElementsByTagName("P");
var i;
for (i = 0; i < myNodelist.length; i++) {
  myNodelist[i].style.backgroundColor = "red";
}

Prøv det selv

Eksempel

Eksempel på indlejrede løkker (løkker inden i løkker):

var text = "";
var i, j;
for (i = 0; i < 3; i++) {
  text += "<br>" + "i = " + i + ", j = "; 
  for (j = 10; j < 15; j++) {
    document.getElementById("demo").innerHTML = text += j + " ";
  }
}

Prøv det selv

Browserstøtte

Sætninger Chrome IE Firefox Safari Opera
for Support Support Support Support Support

Relaterede sider

JavaScript undervisning:JavaScript For-løkke

JavaScript referencehåndbog:JavaScript for ... in sætning

JavaScript referencehåndbog:JavaScript break sætning

JavaScript referencehåndbog:JavaScript continue sætning

JavaScript referencehåndbog:JavaScript while sætning