Ну вы монстр конечно. Столько труда, это же все еще нужно в актуальном состоянии поддерживать как-то.
P.S. Меня от русской документации момент с устареванием всегда отталкивает, с учетом того, что всё бурно развивается поддерживаемые методы и принимаемые параметры уже привык смотреть в оригинале.
Да, я сегодня уже почитал исходники, поэтому и написал такой пример, что никакое начальное значение атрибутов data мы не получаем :) И при загрузке страницы хранилище пусто, пока мы сами туда не запишем что-то с помощью $.data или неявно скопируем атрибут через $().data при чтении.
Если только, что $(selector).data() при отсутствии кешированного атрибута парсит значение этого тега и засовывает его в кеш, а $.data() просто пошлет нафиг при отстутствии элемента в кеше.
Логично, что парсинг добавляет время исполнения, но это то что нам и нужно, я хочу получить значение атрибута в первый раз, чтобы положить его в кеш.
При повторном вызове $(selector).data() мы вызываем $.data(), тот находит нужный элемент в кеше и никакого парсинга. Откуда «значительно тормознее первой»?
Что за «нужные» моменты? Если не знаешь про всё, то как определить нужное это или нет.
У меня просто вызывает сомнение, когда я слышу про «я изучил JS за неделю» или «jQuery за день», потом шаг влево и в Google по любому вопросу, это изучил что ли.
Мне кажется, что писать нужно максимально очевидно, пример с y === 5 && doSomething() это ОК, проблем тут нет, одна операция, а вот user[(os[((user.microsoft_adept ? microsoft : apple).system || "linux")].install_carma <= user.carma) ? "install" : "cant_install"](os[((user.microsoft_adept ? microsoft : apple).system || "linux")].name); это уже жопа, можно сидеть и мысленно парсить строчку, прикидывая что и в какой последовательности выполняется, но зачем, если разбить все на несколько выражений, то возможно получится и менее круто, но намного понятнее для чтения. Но уметь надо, чтобы читать, что написали товарищи не особо заботившиеся о будущем.
Приоритеты знать надо безусловно, но в строке с десятком операций скобки все равно лучше расставить, так намного быстрее и читается и понимается позднее, бросил взгляд и все понятно.
Про все эти особенности рассказывается на первых 100 страницах Флэнагана (про оператор ||, про доступ к полям объекта через квадратные скобки, даже про y === 5 && doSomething() ), начинающим JavaScript программистам нужно прочитать эту книгу обязательно :)
Писать так конечно можно, но читать будет сложновато, лучше в релизе выпустить сжатый вариант JS кода и не экономить на строчках при разработке.
Новые главы про HTML 5, ECMAscript 5, структура старых глав переработана, новые примеры и объяснения. Ничего кардинального, но если читать первый раз, то лучше сразу шестое.
P.S. Меня от русской документации момент с устареванием всегда отталкивает, с учетом того, что всё бурно развивается поддерживаемые методы и принимаемые параметры уже привык смотреть в оригинале.
P.P.S. В Опере не работают демки.
Запись в DOM через data в любой вариации вообще не происходит.
Логично, что парсинг добавляет время исполнения, но это то что нам и нужно, я хочу получить значение атрибута в первый раз, чтобы положить его в кеш.
При повторном вызове $(selector).data() мы вызываем $.data(), тот находит нужный элемент в кеше и никакого парсинга. Откуда «значительно тормознее первой»?
> undefined
ну да :) выхода нет
А talk about все же ближе к «говорить (о чем-либо)»
Впрочем это уже личность переводчика имеет место быть, смысл, что «обсуждать бэкапы», что «говорить о бэкапах» на мой взгляд одинаков здесь.
У меня просто вызывает сомнение, когда я слышу про «я изучил JS за неделю» или «jQuery за день», потом шаг влево и в Google по любому вопросу, это изучил что ли.
Идеально
Товарищ chaika вроде нормально ответил http://www.efl.ru/forum/threads/55466/#m643761
Он в штатах уже лет 10 :)
user[(os[((user.microsoft_adept ? microsoft : apple).system || "linux")].install_carma <= user.carma) ? "install" : "cant_install"](os[((user.microsoft_adept ? microsoft : apple).system || "linux")].name);это уже жопа, можно сидеть и мысленно парсить строчку, прикидывая что и в какой последовательности выполняется, но зачем, если разбить все на несколько выражений, то возможно получится и менее круто, но намного понятнее для чтения. Но уметь надо, чтобы читать, что написали товарищи не особо заботившиеся о будущем.Приоритеты знать надо безусловно, но в строке с десятком операций скобки все равно лучше расставить, так намного быстрее и читается и понимается позднее, бросил взгляд и все понятно.
Писать так конечно можно, но читать будет сложновато, лучше в релизе выпустить сжатый вариант JS кода и не экономить на строчках при разработке.