Ridicarea JavaScript (cu exemple)

În acest tutorial, veți afla despre ridicarea JavaScript cu ajutorul exemplelor.

Ridicarea în JavaScript este un comportament în care o funcție sau o variabilă pot fi utilizate înainte de declarare. De exemplu,

 // using test before declaring console.log(test); // undefined var test;

Programul de mai sus funcționează și rezultatul va fi nedefinit. Programul de mai sus se comportă ca

 // using test before declaring var test; console.log(test); // undefined

Deoarece testul variabilei este declarat doar și nu are valoare, undefinedi se atribuie valoare.

Dacă doriți să aflați mai multe despre variabile, accesați Variabile JavaScript.

Notă : În ridicare, deși se pare că declarația sa deplasat în sus în program, lucrul real care se întâmplă este că declarațiile funcționale și variabile sunt adăugate în memorie în timpul fazei de compilare.

Ridicarea variabilă

În ceea ce privește variabile și constante, de cuvinte cheie vareste arborat și letși constnu permite ridicare.

De exemplu,

 // program to display value a = 5; console.log(a); var a; // 5

În exemplul de mai sus, variabila a este utilizată înainte de a o declara. Și programul funcționează și afișează ieșirea 5. Programul se comportă ca:

 // program to display value var a; a = 5; console.log(a); // 5

Cu toate acestea, în JavaScript, inițializările nu sunt ridicate. De exemplu,

 // program to display value console.log(a); var a = 5;

Ieșire

 nedefinit

Programul de mai sus se comportă ca:

 var a; console.log(a); a = 5;

Doar declarația este mutată în memorie în faza de compilare. Prin urmare, valoarea variabilei a se undefineddatorează faptului că a este tipărită fără a o inițializa.

De asemenea, atunci când variabila este utilizată în interiorul funcției, variabila este ridicată doar în partea de sus a funcției. De exemplu,

 // program to display value var a = 4; function greet() ( b = 'hello'; console.log(b); // hello var b; ) greet(); // hello console.log(b);

Ieșire

 salut Uncaught ReferenceError: b nu este definit

În exemplul de mai sus, variabila b este ridicată în partea de sus a funcției greetși devine o variabilă locală. Prin urmare, b este accesibil numai în interiorul funcției. b nu devine o variabilă globală.

Pentru a afla mai multe despre variabilele locale și globale, accesați JavaScript Variable Scope.

Notă : la ridicare, declarația variabilă este accesibilă doar pentru domeniul imediat.

Dacă o variabilă este utilizată cu letcuvântul cheie, variabila respectivă nu este ridicată. De exemplu,

 // program to display value a = 5; console.log(a); let a; // error

Ieșire

 Uncaught ReferenceError: Nu se poate accesa „a” înainte de inițializare

În timpul utilizării let, variabila trebuie declarată mai întâi.

Funcția de ridicare

O funcție poate fi apelată înainte de a o declara. De exemplu,

 // program to print the text greet(); function greet() ( console.log('Hi, there.'); )

Ieșire

 Bună

În programul de mai sus, funcția greeteste apelată înainte de a o declara și programul arată ieșirea. Acest lucru se datorează ridicării.

Cu toate acestea, atunci când o funcție este utilizată ca expresie , apare o eroare deoarece numai declarațiile sunt ridicate. De exemplu;

 // program to print the text greet(); let greet = function() ( console.log('Hi, there.'); )

Ieșire

 Uncaught ReferenceError: salut nu este definit

Dacă a varfost utilizat în programul de mai sus, eroarea ar fi:

 Uncaught TypeError: greet nu este o funcție

Notă : În general, ridicarea nu se efectuează în alte limbaje de programare precum Python, C, C ++, Java.

Ridicarea poate provoca rezultate nedorite în programul dumneavoastră. Și cel mai bine este să declarați mai întâi variabile și funcții înainte de a le utiliza și să evitați ridicarea.

În cazul variabilelor, este mai bine să folosiți letdecât var.

Articole interesante...