У Javascript-программистов с асинхронностью проблем нет, они привыкли в таком стиле писать скрипты. Обращения к серверу асинхронные, новомодный confirm красивым div'ом асинхронный, обращение к sqlite в Safari асинхронное.
А если вы не умеете писать асинхронный код без огромного количества вложенных замыканий, то это ведь проблема не языка, правильно? На PHP нечитаемый код пишут, пожалуй, чаще (ну просто на нём вообще пишут чаще), но это же никого не останавливает писать на нём нормальный код.
Так ведь это не баг, а вполне штатная ситуация. В стандарте нет Фичи, вебмастера реализуют её кто как горазд. W3C добавила Фичу в стандарт, через месяц (ну мы же в почти идеальном мире) она появилась во всех браузерах, но в старых-то версиях её нет, а эти версии будут жить ещё достаточно долго. Вебмастеру, очевидно, нужен способ отличить браузер с Фичей от браузера без Фичи. Как?
Данный код даёт профит только в том случае, если у клиента в момент загрузки сайта не доступен хост GA. Браузер в этом случае не будет дожидаться загрузки счетчика и продолжит грузить страницу. Во всех остальных случаях будет то, что вы описали, т.е. такой способ будет скорее вреден, чем полезен.
Буквально на днях у меня не грузились ни адсенс, ни директ на сайтах. Видимо с каналами что-то было. Половина страницы, содержащая меню, загрузится и висит (долго висит), дожидаясь ответа от гугла/яндекса. А ты сидишь, ждешь, когда уже наконец статья догрузится. С асинхронным подключением такого бы не было.
А что такого особенно хорошего в отсутствии точек с запятой? Их отсутствие не дает ничего, вы даже код без них писать быстрей не будете. А вот элементарно вытянуть код в строчку с удалением пробелов, чтобы он места меньше занимал, вы уже не сможете.
Важно. Мне, как продавцу кондиционеров, важно, как находят мои кондиционеры люди, которым реально нужны кондиционеры, а не те, которых поискать попросили.
Я не спорю с тем, что мышка != глаза. С этим я полностью согласен. Я говорю лишь о важных недостатках юзабилити-тестирования.
>> т.к. они не могут быть объективны с точки зрения пользователя,
>> как например юзабилити тестирование
Юзабилити-тестирование тоже не может быть объективно, т.к.
а. пользователь знает, что за ним наблюдают;
б. пользователь ищет то, что его просят, а не то, что ему нужно (хотя это может и неважно);
в. пользователь точно не уйдет в поисках нужного на другой сайт, в то время, как в реальной жизни, возможно, смылся бы при первом взгляде.
Я привел линк, который показывает, как работает forEach. Хотя выдернуть оттуда эту информацию трудновато, согласен.
>> Это означает, что обычным циклом for при переборе отделаться не удастся, необходимо проверять, существует ли данный индекс в массиве или он пропущен.
Чтобы подправить Prototype нужно в _each в цикле добавить условие if (i in this).
[,,,] — массив из 4-х undefined в IE, и из 3-х во всех остальных браузерах. Т.е. не последний элемент можно смело пропускать.
А если вы не умеете писать асинхронный код без огромного количества вложенных замыканий, то это ведь проблема не языка, правильно? На PHP нечитаемый код пишут, пожалуй, чаще (ну просто на нём вообще пишут чаще), но это же никого не останавливает писать на нём нормальный код.
>> alert([1,2,].length + [,1,2].length);
>> Ответ 4. «5»
Конечно из серии Jscript, но стоит уточнить, что IE выведет 6.
Буквально на днях у меня не грузились ни адсенс, ни директ на сайтах. Видимо с каналами что-то было. Половина страницы, содержащая меню, загрузится и висит (долго висит), дожидаясь ответа от гугла/яндекса. А ты сидишь, ждешь, когда уже наконец статья догрузится. С асинхронным подключением такого бы не было.
>> что-то кроме простой вставки счетчика.
Нам бы тоже этого хотелось, но это не всегда возможно.
>> И еще очень жду когда будет возможность записывать
>> видимые только залогиненным пользователям странички.
Будет.
Важно. Мне, как продавцу кондиционеров, важно, как находят мои кондиционеры люди, которым реально нужны кондиционеры, а не те, которых поискать попросили.
Я не спорю с тем, что мышка != глаза. С этим я полностью согласен. Я говорю лишь о важных недостатках юзабилити-тестирования.
>> как например юзабилити тестирование
Юзабилити-тестирование тоже не может быть объективно, т.к.
а. пользователь знает, что за ним наблюдают;
б. пользователь ищет то, что его просят, а не то, что ему нужно (хотя это может и неважно);
в. пользователь точно не уйдет в поисках нужного на другой сайт, в то время, как в реальной жизни, возможно, смылся бы при первом взгляде.
>> Это означает, что обычным циклом for при переборе отделаться не удастся, необходимо проверять, существует ли данный индекс в массиве или он пропущен.
Чтобы подправить Prototype нужно в _each в цикле добавить условие if (i in this).
В Prototype метод each у массивов работает по разному в разных браузерах. А если each, то и большинство остальных методов, т.к. они его используют.