JavaScript dizanje (s primjerima)

U ovom ćete tutorijalu uz primjere naučiti o podizanju JavaScripta.

Dizanje u JavaScript je ponašanje u kojem se funkcija ili varijabla mogu koristiti prije deklaracije. Na primjer,

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

Gornji program radi i izlaz će biti nedefiniran. Gornji program ponaša se kao

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

Budući da je varijabla test samo deklarirana i nema vrijednost, njoj undefinedse dodjeljuje vrijednost.

Ako želite saznati više o varijablama, posjetite JavaScript varijable.

Napomena : Iako se čini da se deklaracija u programu pomaknula prema gore, stvarna stvar koja se događa jest da se deklaracije funkcija i varijabli dodaju u memoriju tijekom faze kompajliranja.

Promjenjivo podizanje

U pogledu varijabli i konstanti, ključna riječ varse podiže i lette constne dopušta isticanje.

Na primjer,

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

U gornjem primjeru, varijabla a koristi se prije nego što je deklarira. I program radi i prikazuje izlaz 5. Program se ponaša kao:

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

Međutim, u JavaScriptu se inicijalizacije ne podižu. Na primjer,

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

Izlaz

 nedefiniran

Gornji program ponaša se kao:

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

Samo se deklaracija premješta u memoriju u fazi prevođenja. Stoga je vrijednost varijable a undefinedzato što se a ispisuje bez inicijalizacije.

Također, kada se varijabla koristi unutar funkcije, varijabla se podiže samo na vrh funkcije. Na primjer,

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

Izlaz

 pozdrav Uncaught ReferenceError: b nije definiran

U gornjem primjeru varijabla b podignuta je na vrh funkcije greeti postaje lokalna varijabla. Stoga je b dostupno samo unutar funkcije. b ne postaje globalna varijabla.

Da biste saznali više o lokalnim i globalnim varijablama, posjetite JavaScript Variable Scope.

Napomena : U podizanju, deklaracija varijable dostupna je samo neposrednom opsegu.

Ako se varijabla koristi s letključnom riječi, ta se varijabla ne podiže. Na primjer,

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

Izlaz

 Uncaught ReferenceError: ne može pristupiti 'a' prije inicijalizacije

Tijekom korištenja let, varijabla se mora prvo deklarirati.

Podizanje funkcije

Funkcija se može pozvati prije deklariranja. Na primjer,

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

Izlaz

 Bok tamo

U gornjem programu, funkcija greetse poziva prije nego što je prijavi, a program prikazuje izlaz. To je zbog dizanja.

Međutim, kada se funkcija koristi kao izraz , dolazi do pogreške jer se podižu samo deklaracije. Na primjer;

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

Izlaz

 Uncaught ReferenceError: pozdrav nije definiran

Ako varse koristi u gore navedenom programu, pogreška bi bila:

 Uncaught TypeError: pozdrav nije funkcija

Napomena : Općenito se podizanje ne izvodi u drugim programskim jezicima kao što su Python, C, C ++, Java.

Podizanje može uzrokovati neželjene ishode u vašem programu. I najbolje je prvo deklarirati varijable i funkcije prije nego što ih upotrijebite i izbjegavajte podizanje.

U slučaju varijabli, bolje je koristiti letnego var.

Zanimljivi članci...