JavaScript : Вопрос 1 : 17

Что такое hoisting или "поднятие переменных"? Что произойдет при выполнении следующего куска кода?

myname = "global"; 
function func() { 
    console.log(myname); 
    var myname = "local"; 
    console.log(myname); 
} 
func(); 

 

Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 

 

Верно ли наше решение?

Ответ:

Интерпретатор JavaScript всегда перемещает («поднимает») объявления функций и переменных в начало области видимости (вверх текущего скрипта или функции). Код в вопросе аналогичен следующему:

myname = "global"; 
function func() { 
    var myname; 
    console.log(myname); // "undefined" 
    myname = "local"; 
    console.log(myname); // "local" 
} 
func(); 


В консоль будет напечатано:

undefined 
local 

1 балл


© Copyright © 2017 - 2019 Все права защищены. Бесплатное онлайн образование.