En son web geliştirme öğreticiler
 

JavaScript Hoisting


Hoisting üstüne beyanlarını hareketli JavaScript'in varsayılan davranıştır.


JavaScript Bildirimleri Çekilen edilir

Kullanımdan sonra JavaScript'inizde değişken bildirilebilir.

Diğer bir deyişle; o ilan edilmeden önce değişken kullanılabilir.

Örnek 1, Örnek 2 ile aynı sonucu verir:

Örnek 1

x = 5; // Assign 5 to x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;                     // Display x in the element

var x; // Declare x
Kendin dene "

Örnek 2

var x; // Declare x
x = 5; // Assign 5 to x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;                     // Display x in the element
Kendin dene "

Bunu anlamak için, terimini anlamak zorunda "hoisting" .

Hoisting geçerli kapsamı üstüne tüm beyanlarını hareketli JavaScript'in varsayılan davranıştır (to the top of the current script or the current function) .


JavaScript Başlatımlar Çekilen Değil edilir

Yalnızca JavaScript beyanlarını değil ilklenmeleri palangalar.

Örnek 1, Örnek 2 ile aynı sonucu vermez:

Örnek 1

var x = 5; // Initialize x
var y = 7; // Initialize y

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y
Kendin dene "

Örnek 2

var x = 5; // Initialize x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

var y = 7; // Initialize y
Kendin dene "

y son örnekte tanımlanmamış o mantıklı mı?

Yalnızca bildirim Bunun nedeni, (var y) değil, başlatma (=7) üstüne çekilir.

Çünkü hoisting kullanılmadan önce, y ilan edilmiştir, ancak ilklenmeleri çekilir verilmediği için, y değeri tanımlanmamıştır.

Örnek 2 yazılı olarak aynıdır:

Örnek

var x = 5; // Initialize x
var y;     // Declare y

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

y = 7;    // Assign 7 to y
Kendin dene "

En azından senin Değişkenler ilan ediyorum!

Hoisting olduğu (to many developers) JavaScript bilinmeyen veya gözardı davranışlar.

Bir geliştirici anlamazsa hoisting , programlar hata içerebilir (errors) .

böcek önlemek için, her zaman her kapsam başında tüm değişkenleri bildirmek.

JavaScript kodu yorumlaması bu olduğundan, her zaman iyi bir kuraldır.

Katı modda JavaScript beyan takdirde değişkenler kullanılmasına izin vermez.
Çalışma "use strict" sonraki bölümde.