I programmering af computere, er en løkke en række instruktioner en computer udfører et fast antal gange . En uendelig løkke er en løkke, der kan køre for evigt , medmindre nogle ydre begivenhed forårsager løkken til at opsige . Heldigvis er de fleste uendelige løkker gør ende. Men når de ikke gør det, kan der opstå problemer , og påvirke et program eller den computer, der er vært for det. Trivia
"Infinite Loop " er en gade , der omgiver Apple Computer corporate kontor i Cupertino, Californien. Hver af de seks bygninger, der udgør komplekset har en encifret adresse . Denne unikke kombination af computeren udtrykket " Infinite Loop ", og encifret adresse struktur, der anvendes af selskabet giver Apple en officiel adresse "1 Infinite Loop ". Udtrykket " Infinite Loop " er også titlen på en bog af Michael Malone , krøniker den begyndende Apple Computer .
Misforståelser
Mange uendelige løkker er ikke rigtig uendelig . På et tidspunkt vil en proces bringe dem til standsning . Denne proces kan være lukningen af en browser eller endda genstarte en computer. Programmører henviser undertiden til ikke- uendelige løkker som uendelig. Et eksempel på et endeligt uendelig løkke er en webside animation . Ved hjælp af JavaScript , kan en udvikler oprette en løkke, der flytter et objekt hvert par sekunder. Sløjfen ville udføre gentagne gange. Dog kunne det i sidste ende opsige hvis bygherren beslutter at kode programmet, så animationen stopper, når objektet når en foruddefineret punkt på skærmen .
Coding
følgende erklæring illustrerer, hvordan en udvikler skaber en almindelig løkke i et program : Hej
loopCounter = 0; loopLimit = 100;
mens loopCounter er mindre end loopLimitbegin , ( gøre noget ) ; (tilføj en til loopCounter ) ende ,
Denne kode siger, " Mens loopCounter (0) er mindre end loopLimit (100) , gør noget. " Sløjfen gentage 100 gange . At skabe et uendeligt loop, en udvikler gør sikker værdien af loopCounter aldrig når 100 . Han kunne gøre det ved at udelukke "( tilføje en til loopCounter ) " erklæring eller ved at erstatte ", mens loopCounter er mindre end loopLimit " erklæring med ", mens 1 er lig med 1 ". Hvis en udvikler gør det, løkken vil aldrig ende , fordi man altid vil svare én.
Eksempler
Timere og ure på nogle websider undertiden køre inde uendelige løkker . Sløjfen begynder, når en besøgende åbner en side , og det fortsætter , indtil den besøgende forlader siden. Nogle overvågning applikationer afhængige uendelig løkke behandling for at holde øje med lokale eller eksterne processer . For eksempel kan du oprette en Windows Service program, der henter data fra en webtjeneste hver time og gemmer det i en database.
Advarsler
uendelige løkker er ikke svært at skabe. Faktisk skaber nogle udviklere dem utilsigtet. Når dette sker , desktop og web -baserede applikationer kan loop kontinuerligt, forbruger store mængder systemressourcer . Det følgende er et eksempel på en fælles ikke- uendelig løkke fastlægges i en JavaScript-funktion : Hej
var loopLimit = 100; for (var i = 0; i < loopLimit , i + + ) {//gør noget } < br >
Dette loop vil " gøre noget ", indtil den når den grænse, som variablen " loopLimit ". I dette eksempel vil løkken køre 100 gange . Men hvad sker der , hvis værdien af loopLimit bliver øges med en anden funktion? Hvis det sker , kan løkken aldrig ende . Udviklere bør være opmærksomme på denne fælles programmering fejl. Andre utilsigtede sløjfer kan opstå, hvis en udvikler afhængig nogle ydre begivenhed, såsom et museklik , for at stoppe løkken , og at begivenheden ikke til at ske.