All streams
Search
Write a publication
Pull to refresh
51
0
Kolyaj @Kolyaj

User

Send message
>> NULL ячейки будут представлены строкой «undefined» в JSON представлении записи массивов

[,,,] — массив из 4-х undefined в IE, и из 3-х во всех остальных браузерах. Т.е. не последний элемент можно смело пропускать.
У Javascript-программистов с асинхронностью проблем нет, они привыкли в таком стиле писать скрипты. Обращения к серверу асинхронные, новомодный confirm красивым div'ом асинхронный, обращение к sqlite в Safari асинхронное.
А если вы не умеете писать асинхронный код без огромного количества вложенных замыканий, то это ведь проблема не языка, правильно? На PHP нечитаемый код пишут, пожалуй, чаще (ну просто на нём вообще пишут чаще), но это же никого не останавливает писать на нём нормальный код.
>> Вопрос 4. Что выведет следующая программа?
>> alert([1,2,].length + [,1,2].length);

>> Ответ 4. «5»

Конечно из серии Jscript, но стоит уточнить, что IE выведет 6.
Про ответ Bolk'у не понял сразу, просто ещё дискуссия с Чикуёнком в твиттере наложилась.
Так ведь это не баг, а вполне штатная ситуация. В стандарте нет Фичи, вебмастера реализуют её кто как горазд. W3C добавила Фичу в стандарт, через месяц (ну мы же в почти идеальном мире) она появилась во всех браузерах, но в старых-то версиях её нет, а эти версии будут жить ещё достаточно долго. Вебмастеру, очевидно, нужен способ отличить браузер с Фичей от браузера без Фичи. Как?
Ну и еще самое главное: опера подключает динамически созданные скрипты синхронно, так что для нее этот код аналогичен старому.
Вот для таких моментов асинхронная загрузка кода и нужна.
Разумеется, это имеет смысл, если код вставляется в начале/середине страницы. Если код вставляется в конце страницы, разницы нет.
Данный код даёт профит только в том случае, если у клиента в момент загрузки сайта не доступен хост GA. Браузер в этом случае не будет дожидаться загрузки счетчика и продолжит грузить страницу. Во всех остальных случаях будет то, что вы описали, т.е. такой способ будет скорее вреден, чем полезен.

Буквально на днях у меня не грузились ни адсенс, ни директ на сайтах. Видимо с каналами что-то было. Половина страницы, содержащая меню, загрузится и висит (долго висит), дожидаясь ответа от гугла/яндекса. А ты сидишь, ждешь, когда уже наконец статья догрузится. С асинхронным подключением такого бы не было.
А что такого особенно хорошего в отсутствии точек с запятой? Их отсутствие не дает ничего, вы даже код без них писать быстрей не будете. А вот элементарно вытянуть код в строчку с удалением пробелов, чтобы он места меньше занимал, вы уже не сможете.
>> Очень хотелось бы чтобы не приходилось делать
>> что-то кроме простой вставки счетчика.
Нам бы тоже этого хотелось, но это не всегда возможно.

>> И еще очень жду когда будет возможность записывать
>> видимые только залогиненным пользователям странички.
Будет.
Все это вебвизор запишет, если вы ему сообщите, в какой момент форма показывается, а в какой скрывается.
Но он может «улавливать» вызовы функций, которые показывают эти слои.
>> Не важно в какой ситуации

Важно. Мне, как продавцу кондиционеров, важно, как находят мои кондиционеры люди, которым реально нужны кондиционеры, а не те, которых поискать попросили.

Я не спорю с тем, что мышка != глаза. С этим я полностью согласен. Я говорю лишь о важных недостатках юзабилити-тестирования.
>> т.к. они не могут быть объективны с точки зрения пользователя,
>> как например юзабилити тестирование
Юзабилити-тестирование тоже не может быть объективно, т.к.
а. пользователь знает, что за ним наблюдают;
б. пользователь ищет то, что его просят, а не то, что ему нужно (хотя это может и неважно);
в. пользователь точно не уйдет в поисках нужного на другой сайт, в то время, как в реальной жизни, возможно, смылся бы при первом взгляде.
В корневом комментарии я привел пример. Там индексы 2, 3 и 4 пропущены.
Я привел линк, который показывает, как работает forEach. Хотя выдернуть оттуда эту информацию трудновато, согласен.

>> Это означает, что обычным циклом for при переборе отделаться не удастся, необходимо проверять, существует ли данный индекс в массиве или он пропущен.

Чтобы подправить Prototype нужно в _each в цикле добавить условие if (i in this).
Не ошибся в чем?

В Prototype метод each у массивов работает по разному в разных браузерах. А если each, то и большинство остальных методов, т.к. они его используют.
alljs.ru/2009/08/rasshirenie-prototipa-vstroennogo-konstruktora-array/ здесь есть описание принципа работы forEach и прочих методов.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity