Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверки перед присваиванием (https://javascript.ru/forum/misc/28343-proverki-pered-prisvaivaniem.html)

nerv_ 17.05.2012 09:48

Цитата:

Сообщение от bes
Проверка-то его тоже дрюкнет

да, но по разному (как мне кажется). Одно дело перерисовка документа, другое чтение св-ва. Хотя, вероятно, браузер не станет перерисовывать документ из-за присваивания такого же значения. Я бы понял какой-то пример:
if ( value !== 'чему то там' ) {
	elem.style[ 'property' ] = value;
}

bes 17.05.2012 10:14

Цитата:

Сообщение от nerv_
да, но по разному (как мне кажется). Одно дело перерисовка документа, другое чтение св-ва. Хотя, вероятно, браузер не станет перерисовывать документ из-за присваивания такого же значения.

Вот это уже интереснее.

Для обычных переменных идёт сравнение операций чтения и записи, здесь наверное можно и не проверять.

А для свойств, связанных с прорисовкой, в случае, если после каждого присваивания произойдёт перерисовка, идёт сравнение чтения и записи + перерисовки, здесь наверное имеет смысл осуществить проверку.

Мне думается (здесь надо поискать как в реальности происходит данный процесс), что прорисовка как раз происходит после каждого присваивания.
Если же заложены внутренние механизмы проверки и прорисовки не происходит, тогда над подобными проверками можно вообще не заморачиваться, так как они итак будут осуществлены.

nerv_ 17.05.2012 10:22

Цитата:

Сообщение от bes
А для свойств, связанных с прорисовкой, в случае, если после каждого присваивания произойдёт перерисовка, идёт сравнение чтения и записи + перерисовки, здесь наверное имеет смысл осуществить проверку.

Точно утверждать не стану, но браузер производит перерисовку документа с определенным интервалом, а не после каждого изменения. Погугли на эту тему. Было бы здорово, если имелась возможность ее включать/выключать из кода, а ля true/false.

melky 17.05.2012 10:41

Цитата:

Сообщение от nerv_
а не после каждого изменения

опера перерисовывает страницу после изменения ширины <body>
Цитата:

Сообщение от nerv_
Было бы здорово, если имелась возможность ее включать/выключать из кода, а ля true/false.

requestAnimationFrame исполняет код прямо перед перерисовкой. чем он вам не нравится ?)

bes, почитай определение шаблона Особый случай


Часовой пояс GMT +3, время: 05:41.