Внешние скрипты работают при индексации. Как оно там у гугола и яндекса внутри неонка или как мне неизвестно, но отрабатывают библиотеки я тестировал на этом же сайте лежащие.
Пруф я сам, ставлю эксперименты уже много месяцев. Хочу хоть бы пост написать, но пока руки не дошли. Ну и аналогичное описание где-то читал, но тоже без пруфа.
Этот костыль и проще и лучше и самое главное работает как надо.
У поисковиков два основных этапа индексации, это краулинг (боты) и индексация. На этапе краулинга JS не выполняется, на стадии индексации собранные краулером страницы JS исполняется. К краулер (сборщик страниц) на первой стадии не ходит внутри JS сайта, но собирает все страницы на которые есть ссылки извне или ссылки с html страниц.
Поэтому на этом этапе ему нужны "корневые", то есть html страницы с ссылками, что бы ходить по всем страницам сайта.
Например, для сайта визитки это может быть одна страница с главным меню в html, а все остальные можно делать на JS, а в итоге весь сайт нормально проиндексируется.
Поясню: в C# есть асинхронность. Отвечая человеку с шарпа так вы его путаете. Он думает про асинхронность и необходимость синхронизации кода. Это в принципе другой подход. Это вообще разные вещи.
В JS нет асихронности. Даже с хитровывертами. Код выполняется синхронно. Две функции никогда не выполнятся параллельно, только одна за другой. Менять можно только их порядок выполнения. Ближайший аналог в C# это WinForms, события и один гуи-поток. (и еще раз, гуи в винформс синхронный)
Большинство верстальщиков никогда не тестируют страницы и не поймут. Но тестеры поймут скорее всего. И можно задавать вопросы для уточнения. А зачем тут шутки школьников я не пойму.
Мне кажется вы пытаетесь отвечать на вопрос по функции которую сами не используете или используете неверно, оттого и ваше непонимание вопроса. Большинство используют instanceof не для проверки соответствия прототипам, а для определения соответствия объектов функциям конструктора. И от этого возникают ошибки и не только в программах, но и в документации. Не терзайте меня, погуглите.
Не знаю на что вы отвечали, там же написан вопрос. Это известная фича и в грамотных статьях она описывается отдельно.
Два примера, одинаковый код, разное поведение. Первый пример приведен в официальной документации. Другое поведение этого же примера кода с другими условиями в официальной документации не упомянуто.
Ваше высказываение звучит как "все работает так как работает". Я же написал два примера в которых instanceof работает по разному. Мне не нужно объяснять почему так, я и сам это знаю. Читайте вопрос.
Вот ввели один костыль и instanceof дает разный результат для объектов с одним и тем же прототипом Object. Почему ввели только в одном месте? Почему не костылирвали так же и объекты с прототипами? Или наоборот, если не получается костылировать все объекты, может быть не костылировать вообще и тогда в первом примере Car и NoCar это instance of object?
Баг в том, что код написанный по примеру, ломается при добавлении прототипов и ломается совсем в другом месте где-то где используются эти объекты. В общем случае instanceof не работает так как в других языках и только для неназначенных прототипов сделан один неявный костыль. Или уж не делайте костыль или сделайте его везде.