|
2 / 2 / 3
Регистрация: 07.11.2014
Сообщений: 98
|
||||||||||||||||
Нужен ли let?06.05.2020, 13:29. Показов 3000. Ответов 28
Приветствую, друзья.
Тупой вопрос от новичка по циклу. Есть ли разница в этих написаниях:
Спрашиваю, потому что вот это работает без let:
1
|
||||||||||||||||
| 06.05.2020, 13:29 | |
|
Ответы с готовыми решениями:
28
СМА Gorenje WA61101/02, Нужен номинал резистора, Нужен номинал резистора |
|
2 / 2 / 3
Регистрация: 07.11.2014
Сообщений: 98
|
|
| 06.05.2020, 19:42 [ТС] | |
|
Перекладывая приобретённое знание на этот пример, ход моих мыслей:
в консоль направлена переменная х (первый КонсольЛог), которая на момент чтения не объявлена. Проверяем, объявлена ли она в функции? Нет. Проверяем, объявлена ли она выше? Да. Она равна 10. Но в консоли undefined. Что я не учёл? По второму консольлогу ясно. Она объявлена и переписана.
0
|
|
|
Модератор
2381 / 1741 / 677
Регистрация: 07.08.2016
Сообщений: 4,099
|
||||||
| 06.05.2020, 19:53 | ||||||
|
Sonicos, а вот тут уже вступает в ход автоматическая оптимизация кода интерпретатором
![]() на самом деле браузер переделывает этот код вот в такой:
console.log получается что переменная объявлена, но ее содержимое не определено. Вся эта оптимизация справедлива и для глобальной области видимости. Кстати благодаря ей функции которые описаны с помощью Function Declaration можно вызывать в коде до того как они были описаны. Интерпретатор при запуске скрипта сам вытягивает их наверх.
2
|
||||||
|
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
|
|
| 06.05.2020, 19:56 | |
|
На сколько я понимаю это дело, переменная i объявлена со значением undefined. Она является глобальной в области видимости, в данном случае в текущем файле js. Не объявленная i, скорее всего равна var i. Такие переменные поднимаются вверх (хостятся) не зависимо от того где находятся.
0
|
|
|
2 / 2 / 3
Регистрация: 07.11.2014
Сообщений: 98
|
|
| 06.05.2020, 20:31 [ТС] | |
|
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||||||
| 12.05.2020, 14:02 | ||||||
|
Насколько я слышал (и даже как-то проверял) переменные, объявленные без var, let становятся глобальными. То есть свойствами объекта window
И если сделать так
0
|
||||||
|
|
|
| 12.05.2020, 14:28 | |
|
Байт, насколько я знаю, переменная, объявленная через
var, "поднимается" к началу того блока кода, внутри которого она объявлена (в данном случае блок — это функция F). Это означает, что в строчке 2 переменная i уже существует. Получается, что инициализация в данном случае предшествует объявлению. Если объявить i через let, то получим ошибку. А если совсем не будем объявлять, то да, она станет глобальной; но только в нестрогом режиме!
1
|
|
|
Модератор
2381 / 1741 / 677
Регистрация: 07.08.2016
Сообщений: 4,099
|
||||||
| 12.05.2020, 15:03 | ||||||
|
Байт, Ваш код при оптимизации превратится в такой:
1
|
||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 12.05.2020, 18:59 | |
|
DrType, AlexZaw, Да, я забыл про "поднятие" var.
Не по теме: Трудно старому сишнику разбираться в JS-механизмах! Добавлено через 1 минуту Хочется какой-то логики, а она вильнет хвостиком - и нету...
1
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|||||||
| 13.05.2020, 01:28 | |||||||
![]() Запустите в браузере следующий код:
затем в первой строке замените var на let и снова полюбуйтесь модальными окнами на странице наконец, удалите let и ещё раз запустите в браузере для полного удовлетворения повторите все три процедуры, раскомментировав вторую строку ну и для "окончательного оргазма" попробуйте в конце кода добавить var qwerty = 456; alert (qwerty); предупреждаю, что при наличии let в первой строке страница с этим добавлением не пройдёт тест на соответствие синтаксису, в консоли прочитаете причину
2
|
|||||||
| 13.05.2020, 01:28 | |
|
СМА Indesit WIN602(EU), нужен дамп прошивки или конфиг, не включается, нужен дамп прошивки или конфиг СМА Whirlpool AWM245 нужен номинал R6, Whirlpool AWM245 нужен номинал R6 Нужен ли он? Нужен пк Нужен ли C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|