JavaScript setTimeout vs Settingval

Utilizarea JavaScript Settimeout este foarte frecventă în programarea zilnică cu JavaScript. Cu toate acestea, de multe ori nu este bine înțeles așa cum funcționează. Vom explica atât conceptul de settimeout JavaScript, cât și SetInterval, care este metoda complementară și vom vedea funcționarea sa.

JavaScript settimeout și curiozități

Funcția JavaScript Setimeout este responsabilă pentru executarea unei alte funcții după un anumit timp. Ele sunt de obicei folosite pentru a gestiona animațiile, tranzițiile și operațiunile similare. Vom construi exemplul „Bună ziua”.

divid id = „A1E2780bff”>

Acest mesaj va trece în ultimele 5 secunde în consola:

JavaScript setInterval

În acest moment, totul pare foarte simplu, am întârziat pur și simplu execuția 5 secunde. Realitatea este un pic mai complex. Imaginați-vă să adăugăm următorul cod la pagina noastră:

<html><head> <script type="text/javascript"> function mensaje() { console.log("hola desde javascript"); } setTimeout(mensaje,5000); function congelar () { var tiempo = new Date(); console.dir(tiempo); tiempo.setSeconds(tiempo.getSeconds() + 10); while (new Date().getTime() < tiempo.getTime()) { } console.log("pulsaste"); } </script></head><body><input type="button" value="congelar" onclick="congelar()" /></body></html>

Am adăugat doar un buton care apăsând execută funcția de înghețare. Această funcție execută o buclă infinită timp de 10 secunde.

<

JavaScript setterval lent

Rezultatul este că atunci când executați programul nostru, setTimeout nu este tipărit la 5 secunde, dar este tipărită la 10. Ce are sa întâmplat? „Trebuie să ne amintim că JavaScript are un fir de execuție <. / P>

În cazul nostru avem două evenimente unul este clicul și altul este settimeout care este executat la 5 secunde. Prin urmare, coada noastră are două evenimente pe care firul JavaScript trebuie să le execute. Dacă apăsăm butonul doar pentru încărcarea paginii, primul eveniment pe care îl vom executa va fi clic. Problema este că generează o buclă infinită și va păstra firul JavaScript timp de 10 secunde.

Firele JavaScript Settinval Blocare

prin acest moment Mult că am definit setarea la 5 secunde, nu poate fi niciodată executată până când firul este eliberat de la 10 secunde.

Întotdeauna luăm în considerare modul în care funcționează JavaScript prin lansarea operațiunilor de acest tip.

JavaScript setTimeout VS SetterInTval

Funcția SetTinterval este complementară la setarea și ceea ce ne permite Executați o anumită funcționalitate la fiecare oră. Particularitatea este că intervalul trebuie să aibă o stare de sfârșit. Să vedem:

iv id = „AEBDC73156”

Acest lucru va fi imprimat pe fiecare al doilea „Bună ziua din JavaScript” pe consola până când vom decide să încheiem intervalul folosind metoda ClearInterval și să ne sprijinim În opțiunea variabilă.

JavaScript settInterval rezultat

Am văzut doar diferențele fundamentale dintre JavaScript setTimeout vs SetInterval.

Alte articole similare:

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *