Андрей Параничев,
Вы очень смешной человек, скажу вам прямо, что будь асинхронность в языке JavaScript он был бы не таким уж простым языком. А все события что посылает браузер, будь то мышь, клава, или еще чего, это лишь поток браузера который синхронизируется с вашим скриптом/приложением и внедряется по среди выполнения основного кода. Асинхронные приложения очень сложно писать, и будь она в яваскрипт люди жаловались бы не на то как получить ДИВ оттуда-то или отсюда-то.. А на то почему происходят неожиданности, ибо синхронизация приводит к тому что две нити ( в нашем случае это кассир и его помощник ) могут привести к неожиданной ошибке, при записи/запросе одних и тех же данных, то-есть например кассир хочет взять деньги и его помощник тоже.. То-есть запрос одних и тех же данных приводит как правило к ступору. Хотя подобная ситуация и не особо страшна, но при записи данных кто-то может их так же записывать. Это и есть асинхронность, когда данные портятся без контроля синхронизации. Поэтому в JS все события синхронизируются.
|