Kaldırma, Javascript'in tarayıcı tarafından nasıl yorumlandığının bir özelliğini tanımlar ve kullanılacak bir özellik değildir.
Javascript'i yorumlarken, tarayıcılar işlevin başlangıcında işlev düzeyindeki değişkenleri kapsamaktadır. Misal:
function AddTwoAndTwo() {
var two = 2;
var result = two + two;
return result;
}
Gönderilen kodda, işlev kapsamının başlangıcında "iki" ve "sonuç" değişkenlerinin her ikisi de vardır (açıkça, orada bildirildikleri gibi.) Ancak, tarayıcılar değişkenleri "kaldırdıklarından", aşağıdakiler yasal Javascript kodu olur .
function AddTwoAndTwo() {
result = 5;
alert(result);
var two = 2;
var result = two + two;
return result;
}
Buradaki net etki, bildirmeden önce kullanımda değişkenleriniz olması ve özellikle global kapsam değişkenlerinde karışıklığa neden olabilmesidir. Misal:
var result = 6;
function AddTwoAndTwo() {
alert(result); // should this be 6 or undefined?
var two = 2;
var result = two + two;
return result;
}
Karışıklığı önlemek için, bir işlevin üstündeki değişkenlerinizi bildirin.