Size: a a a

JavaScript — русскоговорящее сообщество

2020 July 26

A

Alex in JavaScript — русскоговорящее сообщество
всем привет, подскажите пожалуйста
после fecth() получаю nested объект, не могу добраться до нужного ключа
на первом уровне все норм, получаю значение, а на втором уже не могу
в чем проблема?
исходный объект https://samples.openweathermap.org/data/2.5/forecast?id=524901&appid=439d4b804bc8187953eb36d2a8c26a02
допустим, как получить значение city.name? при таком обращении получаю undefined, а на просто city объект возвращается (он после list массива)
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Dmitry Croft
Как минимум запуск тестов в браузере это не опровергает
Значит так и есть
источник

..

. . in JavaScript — русскоговорящее сообщество
это что получается, можно сделать объект, запихать его в массив

потом изменить объект и в массиве он изменится
источник

VD

Vla Dick in JavaScript — русскоговорящее сообщество
Да
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
. .
это что получается, можно сделать объект, запихать его в массив

потом изменить объект и в массиве он изменится
Да, так работают объекты везде, а не только в массиве
источник

..

. . in JavaScript — русскоговорящее сообщество
это же столько возможностей
источник

Т

Тревожная куколка... in JavaScript — русскоговорящее сообщество
. .
это же столько возможностей
И накосячить там, где не собирался совершенно неожиданным образом. Аккуратнее с этим
источник

..

. . in JavaScript — русскоговорящее сообщество
постараюсь
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Sergey 🛸
Да, так работают объекты везде, а не только в массиве
Тогда суть твоего первоначального ответа(setTimeout может бвть раньше DOMContentLoaded) только в том, что порядок может быть разный? Других существенных различий нет?
источник

D

Don`t Worry in JavaScript — русскоговорящее сообщество
Dmitry Croft
Когда только DOMContentLoaded появился, setTimiout был одним из полифиллов. Почему сам додумайся
Так а зачем сейчас использовать подобные полифиллы?
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Don`t Worry
Так а зачем сейчас использовать подобные полифиллы?
Низачем
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
Dmitry Croft
Низачем
на огрызках вполне себе обычная техника, правда не с нулевой задержкой и не для отслеживания события построения дома...
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Konstantin Sedykh
на огрызках вполне себе обычная техника, правда не с нулевой задержкой и не для отслеживания события построения дома...
Я ещё заметил, что обработчики на DOMContentLoaded могут блокировать first paint. Вроде такого никогда не должно быть, но есть

А setTimeout не блокирует, и дом всегда уже построен (не знаю почему ты говоришь что нет, если даже страница отрисовалась)
источник

D

Don`t Worry in JavaScript — русскоговорящее сообщество
А почему вы решили что он блокирует first paint. Я повторил ваш код со стаковерфлоу, только добавив еще один абзац текста который не будет удаляться в скрипте, и этот абцаз всегда появляется, а первый абзац иногда при перезагрузке действительно не появляется видимо потому что он уже удалился
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Don`t Worry
А почему вы решили что он блокирует first paint. Я повторил ваш код со стаковерфлоу, только добавив еще один абзац текста который не будет удаляться в скрипте, и этот абцаз всегда появляется, а первый абзац иногда при перезагрузке действительно не появляется видимо потому что он уже удалился
Это поведение уже интереснее, можешь скинуть код?
источник

D

Don`t Worry in JavaScript — русскоговорящее сообщество
Так он как у тебя. Просто снизу еще один тег <p>ANOTHER</p> и его я всегда вижу
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Ок, шас попробую
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
Dmitry Croft
Это поведение уже интереснее, можешь скинуть код?
а скрипт случае не в шапке? он будет блокировать пока не загрузится всё что есть до него.
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
не уверен насчёт defer и async
источник

D

Don`t Worry in JavaScript — русскоговорящее сообщество
- defer (говорит браузеру загружать скрипт в фоновом режиме и продолжать строить DOM-структуру дальше, выполнится после полной загрузки DOM, последовательно загружает скрипты как написано в HTML)
источник