УÑиÑÑÐ²Ð°ÐµÑ Ð»Ð¸ ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ñледние изменениÑ?
ФÑнкÑÐ¸Ñ sayHi иÑполÑзÑÐµÑ Ð¸Ð¼Ñ Ð²Ð½ÐµÑней пеÑеменной. Ðакое знаÑение бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñи вÑполнении ÑÑнкÑии?
let name = "John";
function sayHi() {
alert("Hi, " + name);
}
name = "Pete";
sayHi(); // ÑÑо бÑÐ´ÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¾: "John" или "Pete"?
Такие ÑиÑÑаÑии вÑÑÑеÑаÑÑÑÑ ÐºÐ°Ðº пÑи ÑазÑабоÑке Ð´Ð»Ñ Ð±ÑаÑзеÑа, Ñак и Ð´Ð»Ñ ÑеÑвеÑа. ФÑнкÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð·Ð½Ð°Ñена на вÑполнение позже, Ñем она бÑла Ñоздана, напÑимеÑ, поÑле дейÑÑÐ²Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ ÑеÑевого запÑоÑа.
ÐÑак, вопÑоÑ: ÑÑиÑÑÐ²Ð°ÐµÑ Ð»Ð¸ она поÑледние изменениÑ?
ÐÑвеÑ: Pete.
ФÑнкÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð²Ð½ÐµÑние пеÑеменнÑе в Ñом виде, в коÑоÑом они Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ ÑейÑаÑ, она иÑполÑзÑÐµÑ ÑамÑе поÑледние знаÑениÑ.
СÑаÑÑе знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеменнÑÑ Ð½Ð¸Ð³Ð´Ðµ не ÑÐ¾Ñ ÑанÑÑÑÑÑ. Ðогда ÑÑнкÑÐ¸Ñ Ð¾Ð±ÑаÑаеÑÑÑ Ðº пеÑеменной, она беÑÐµÑ ÑекÑÑее знаÑение из Ñвоего или внеÑнего лекÑиÑеÑкого окÑÑжениÑ.