„JavaScript“ kėlimas (su pavyzdžiais)

Šioje pamokoje su pavyzdžių pagalba sužinosite apie „JavaScript“ kėlimą.

„JavaScript“ kėlimas yra toks elgesys, kai funkciją ar kintamąjį galima naudoti prieš deklaruojant. Pavyzdžiui,

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

Pirmiau nurodyta programa veikia ir išvestis nebus apibrėžta. Pirmiau nurodyta programa elgiasi taip

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

Kadangi kintamasis testas yra tik deklaruojamas ir neturi vertės, undefinedjam priskiriama vertė.

Jei norite sužinoti daugiau apie kintamuosius, apsilankykite „JavaScript“ kintamieji.

Pastaba : Nors atrodo, kad deklaracija programoje pajudėjo į viršų, iš tikrųjų vyksta tai, kad funkcija ir kintamosios deklaracijos įtraukiamos į atmintį kompiliavimo etape.

Kintamas kėlimas

Kalbant apie kintamųjų ir konstantų, raktažodžių varyra iškelta ir letir constneleidžia kėlimą.

Pavyzdžiui,

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

Ankstesniame pavyzdyje kintamasis a naudojamas prieš jį deklaruojant. Ir programa veikia ir rodo 5 išvestį. Programa elgiasi taip:

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

Tačiau naudojant „JavaScript“ inicialai nėra panaikinami. Pavyzdžiui,

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

Rezultatas

 neapibrėžtas

Pirmiau nurodyta programa veikia taip:

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

Kompiliavimo etape į atmintį perkeliama tik deklaracija. Vadinasi, kintamojo a reikšmė yra ta, undefinedkad a atspausdinama neinicijuojant.

Be to, kai kintamasis naudojamas funkcijos viduje, kintamasis pakeliamas tik į funkcijos viršų. Pavyzdžiui,

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

Rezultatas

 labas Nepagauta nuorodos klaida: b nėra apibrėžta

Ankstesniame pavyzdyje kintamasis b pakeliamas į funkcijos viršų greetir tampa vietiniu kintamuoju. Taigi b yra prieinamas tik funkcijos viduje. b netampa visuotiniu kintamuoju.

Norėdami sužinoti daugiau apie vietinius ir pasaulinius kintamuosius, apsilankykite „JavaScript“ kintamųjų apimtis.

Pastaba : kėlimo atveju kintamojo deklaracija prieinama tik tiesiogiai.

Jei su letraktiniu žodžiu naudojamas kintamasis , šis kintamasis nėra pakeliamas. Pavyzdžiui,

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

Rezultatas

 Negauta „ReferenceError“: prieš inicijuojant negalima pasiekti „a“

Naudojant let, pirmiausia reikia nurodyti kintamąjį.

Funkcijos kėlimas

Funkciją galima iškviesti prieš ją deklaruojant. Pavyzdžiui,

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

Rezultatas

 Sveiki

Pirmiau pateiktoje programoje funkcija greetiškviečiama prieš ją deklaruojant ir programa rodo išvestį. Taip yra dėl kėlimo.

Tačiau kai funkcija naudojama kaip išraiška , įvyksta klaida, nes keliamos tik deklaracijos. Pavyzdžiui;

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

Rezultatas

 Negauta „ReferenceError“: sveikinimas nėra apibrėžtas

Jei varbuvo naudojama pirmiau minėtoje programoje, klaida būtų:

 Negauta „TypeError“: sveikinimas nėra funkcija

Pastaba : paprastai kėlimas neatliekamas kitomis programavimo kalbomis, tokiomis kaip Python, C, C ++, Java.

Kėlimas gali sukelti nepageidaujamų rezultatų jūsų programoje. Geriausia pirmiausia deklaruoti kintamuosius ir funkcijas prieš juos naudojant ir vengti kėlimo.

Kintamųjų atveju geriau naudoti letnei var.

Įdomios straipsniai...