JavaScript emelés (példákkal)

Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript emelését.

A JavaScript-be emelés egy olyan viselkedés, amelyben egy függvény vagy egy változó használható a deklarálás előtt. Például,

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

A fenti program működik, és a kimenet meghatározatlan lesz. A fenti program úgy viselkedik

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

Mivel a változó teszt csak deklarált és nincs értéke, undefinedezért hozzá van rendelve az érték.

Ha többet szeretne megtudni a változókról, látogasson el a JavaScript-változók oldalra.

Megjegyzés : Bár úgy tűnik, hogy az emelésnél úgy tűnik, hogy a deklaráció feljebb lépett a programban, az történik, hogy a függvény és a változó deklarációk hozzáadódnak a memóriához a fordítás fázisában.

Változtatható emelés

A változók és az állandók szempontjából a kulcsszó fel varvan emelve, letés constnem teszi lehetővé az emelést.

Például,

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

A fenti példában az a változót deklarálás előtt használjuk. És a program működik, és megjeleníti az 5. kimenetet. A program a következőképpen viselkedik:

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

A JavaScript-ben azonban az inicializálásokat nem emelik fel. Például,

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

Kimenet

 határozatlan

A fenti program a következőképpen viselkedik:

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

Csak a deklaráció kerül a memóriába a fordítás fázisában. Ezért az a változó értéke undefinedazért van, mert az a inicializálás nélkül kerül kinyomtatásra.

Továbbá, ha a változót a függvényen belül használják, a változót csak a függvény tetejére emelik. Például,

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

Kimenet

 hello Uncaught ReferenceError: b nincs meghatározva

A fenti példában a b változót a függvény tetejére emelik, greetés lokális változóvá válik. Ezért b csak a függvényen belül érhető el. b nem válik globális változóvá.

Ha többet szeretne megtudni a helyi és globális változókról, látogasson el a JavaScript Variable Scope oldalra.

Megjegyzés : Az emelésnél a változó deklaráció csak a közvetlen hatályhoz érhető el.

Ha egy változót használnak a letkulcsszóval, akkor ezt a változót nem emelik fel. Például,

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

Kimenet

 El nem fogott ReferenceError: Az inicializálás előtt nem lehet hozzáférni az „a” -hoz

Használat közben letelőször a változót kell deklarálni.

Funkció emelés

A függvény deklarálása előtt meghívható. Például,

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

Kimenet

 Szia

A fenti programban a függvény greetdeklarálása előtt meghívásra kerül, és a program megmutatja a kimenetet. Ennek oka az emelés.

Ha azonban egy függvényt használunk kifejezésként , akkor hiba lép fel, mert csak a deklarációkat emeljük ki. Például;

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

Kimenet

 El nem fogott ReferenceError: üdvözlet nincs meghatározva

Ha vara fenti programban használnák, a hiba a következő lenne:

 El nem fogott TypeError: az üdvözlés nem függvény

Megjegyzés : Az emelést általában más programozási nyelveken nem hajtják végre, például Python, C, C ++, Java.

Az emelés nemkívánatos eredményeket okozhat a programjában. És a legjobb, ha használat előtt deklaráljuk a változókat és a függvényeket, és kerüljük az emelést.

Változók esetén jobb használni, letmint var.

érdekes cikkek...