БлогNot. Javascript: var, let или ничего?

Javascript: var, let или ничего?

Часто спрашивают: почему в Javascript два оператора описания переменной?

Коротко говоря,

  • переменная, описанная после let, видна в своём блоке и вложенных, это предпочтительный вариант описания переменных;
  • переменная, описанная после var, видна всюду внутри функции, при описании на глобальном уровне отличия от let нету;
  • переменная, вообще не описанная, а созданная непосредственно оператором присваивания "=", видна всюду в скрипте глобально - самый опасный вариант!

Вот этот код нормально напечатает в консоли браузера значение v1, равное 10, хотя мы уже вышли из блока, где описана переменная, строка с выводом 2 закомментирована, так как приведёт к ошибке "Uncaught ReferenceError", строка с выводом величины v3, определённой где-то в недрах функции, сработает как дань совместимости с устаревшими версиями, но делать так не надо.

<script>
 function f1 () {
  for (let i = 0; i < 10; i++) {
   var v1 = i + 1; //определение 1
  }
  console.log (v1); //вывод 1
 }
 function f2 () {
  for (let i = 0; i < 10; i++) {
   let v2 = i + 1; //определение 2
   v3 = 3; //определение 3
  }
  //console.log (v2); //вывод 2
 }
 f1();
 f2();
 console.log (v3); //вывод 3
</script>

07.12.2020, 15:14 [709 просмотров]


теги: программирование учебное javascript памятка

К этой статье пока нет комментариев, Ваш будет первым