Галоўная > Разбор пытанняў з рэальных сумоўяў - JS Практыка.

Разбор пытанняў з рэальных сумоўяў - JS Практыка.

сумоўе практыка js

Пытанне:

Што ўбачым у кансолі?

console.log(x);
var x = 1;
function car() {
  if (false) {
      var x = 2;
  }
  console.log(x);
}
car()
console.log(x);

Кароткі адказ

// undefined
// undefined
// 1

Падрабязны адказ

З var мы маем справу з функцыянальнай (ці глабальнай) вобласцю бачнасці.

Таму ўсплыве аб'ява пераменнай, але не яе ініцыялізацыя. Так атрымаем першы undefined.

Другі undefined атрымаем, калі будзе выконвацца код функцыі. Аб'яўленне пераменнай падымецца да самага верха функцыі, але ва ўмову if мы ніколі не трапім, каб лакальная пераменная х набыла значэнне.

1 - глабальная пераменная х аб'яўлена і праініцыялізавана.

loveJS, 2023-02-24
Каментары

    (Каб даслаць каментар залагуйцеся ў свой уліковы запіс)

    ;